![]() |
|
Модераторы: mihanik |
![]()
|
|
| sergei3000 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2006 Репутация: нет Всего: нет |
возможно ли сделать так, чтобы пользовательский макрос можно было отменить, как любое другое действие в MS Exel, путём нажатия на соответствующую кнопку?
а то после запуска макроса эта кнопка засеривается, и отменить действие (как и предшествовавшие ему другие действия) невозможно |
|||
|
||||
| Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 7 Всего: 49 |
Правильно настроить безопасность Офиса.
-------------------- Я желаю всем Счастья! |
|||
|
||||
| likhobory |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 466 Регистрация: 17.5.2005 Где: Москва Репутация: 10 Всего: 20 |
цитата из справки:
|
|||
|
||||
| Staruha |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1292 Регистрация: 1.2.2004 Где: Казань Репутация: 13 Всего: 27 |
Нажми Еsc потом End. -------------------- Возмездие настигнет |
|||
|
||||
| sergei3000 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2006 Репутация: нет Всего: нет |
настраивал на все возможные уровни безопасности макросов в параметрах экселя (если ты это имеешь в виду, если нет - поясни, пожалуйста). не помогает. это я читал. думал, что, может, всё-таки есть какой-то способ... Esc, по-моему, прерывает макрос в момент его выполнения. а что делать, если макрос уже выполнен? тогда нажатие Esc ни к чему не приводит |
|||
|
||||
| Дмит |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 117 Регистрация: 21.4.2006 Где: г.Волгоград Репутация: 8 Всего: 9 |
Для того чтобы иметь возможность отмены, код VBA должен отслеживать изменения, проведенные макросом. Макрос должен быть готов отменить внесенные изменения при выборе пользователем команды Правка-Отмена.
Чтобы разрешить пользователю выполнять команду Правка-Отмена, воспользуйтесь методом OnUndo в качестве последнего оператора макроса. Этот метод позволяет указать текст, который отображается в опции меню Отмена, а также процедуру, вызываемую командой Правка=>Отмена. Например: Application.OnUndo "Последний макрос", "MyUndoMacro" В процедуре "MyUndoMacro" действия последнего макроса исправляются. В простейшем случае делается бэкап и восстанавливается полностью рабочий лист. |
|||
|
||||
| sergei3000 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 1.3.2006 Репутация: нет Всего: нет |
Дмит,
Спасибо! появляется ещё один нескромный вопрос. возможно ли сделать так, чтобы можно было отменить действия, предшествовавшие выполнению макроса. то есть чтобы как в экселе отменять можно было несколько последних операций, в том числе и макрос, и операции, произведённые до его выполнения? п.с. получается лишь отменять действия, произведённые после запуска макруса (ну и макрос тоже) |
|||
|
||||
![]()
|
| Правила форума "Программирование, связанное с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование, связанное с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |