![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.11.2012
Сообщений: 5
|
![]()
Необходимо программно в модуль книги добавить макрос запрещающий возможность сохранения изменений. Делаю так:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Оттого, что Вы код в книгу вписали, макрос в списке не появится.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 03.11.2012
Сообщений: 5
|
![]()
в коде WorkBook'а появляется:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub что нужно сделать чтобы это сохранилось? Sciv, я понимаю что вопрос наверное очень глупый, но я никогда с этим не сталкивалась =( Последний раз редактировалось LadyInRed; 03.11.2012 в 20:51. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
да нет, не такой уж глупый... А вот я, походу, туплю
![]() Философия, однако, какая-то... Проверить можно просто: сделайте макрос, ничего не запрещающий, просто выводящий сообщение (что-нибудь типа 'Sub Test()' + #13 + ' MsgBox "Привет, мир!"' + #13 + 'End Sub'), и попробуйте сохранить так же, как делаете. Если сохранится - значит, я прав.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 03.11.2012 в 22:22. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 03.11.2012
Сообщений: 5
|
![]()
Sciv, если я вручную беру и добавляю этот макрос и нажимаю кнопку сохранить он же сохраняется)))
хотя сейчас попробовала добавить другой макрос к книге и он сохранился ... так что Вы видимо правы ... тогда как же запретить дальнейшее сохранение в файле? Последний раз редактировалось LadyInRed; 03.11.2012 в 22:27. |
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]() Цитата:
Цитата:
Либо противоречие, либо... Мысль такая, что вручную в экселе Вы сначала сохраняете макрос, а потом всю книгу. Вот во втором случае он срабатывает, а в первом - нет. С динамическим же макросом из дельфи получается так, что Вы добавляете код в книгу и тут же пытаетесь все сохранить - вот он и отрабатывает положенный ему алгоритм UPD Развивая мысль, предположу, что нужно использовать что-то типа W.Workbooks[1].VBProject.Save
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 03.11.2012 в 22:28. |
||
![]() |
![]() |
![]() |
#7 |
Регистрация: 03.11.2012
Сообщений: 5
|
![]()
осталось найти что-нибудь подобное =)
Последний раз редактировалось LadyInRed; 03.11.2012 в 22:54. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
В редакторе Visual Basic в экселе есть Object Browser (открывается по F2). Там смотрите.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 03.11.2012
Сообщений: 5
|
![]()
Ничего подходящего я там найти так и не смогла =( нашла выход, но совсем не красивый
программно добавляю следующие макросы Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
макросы в Excel | muzon45 | Помощь студентам | 0 | 13.12.2011 09:38 |
Макросы в Excel | Jaybe | Microsoft Office Excel | 2 | 14.05.2009 15:04 |
макросы Excel | Ravil-022 | Помощь студентам | 2 | 28.07.2008 21:12 |
макросы в Excel | Ravil-022 | Софт | 0 | 28.07.2008 17:56 |
макросы в Excel | Ravil-022 | Софт | 0 | 28.07.2008 17:46 |