Undo Method в Excel

Программирование на Visual Basic for Applications
moonbeam
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 23.12.2006 (Сб) 22:26
Откуда: Республика Коми, г. Ухта

Undo Method в Excel

Сообщение moonbeam » 23.12.2006 (Сб) 22:37

В Excel простым перетаскиванием на рабочий лист создал кнопку. При нажатии на нее выполняются определенные действия. Как написать программу, допустим, при двойном нажатии на ту же кнопу, для отмены предыдущих действий. Т.е. Undo. Читал, вроде, что в Excel подобная миссия невыполнима. Неужели так? Подскажите пожалуйста.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 23.12.2006 (Сб) 22:55

Ужели так.

Токмо ручками если. Для каждого макроса создать обратный.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Krasnaja Shapka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 26.10.2006 (Чт) 12:13
Откуда: Киев

Сообщение Krasnaja Shapka » 25.12.2006 (Пн) 15:00

ну... можно закрыть документ не сохранив... и открыть его старую копию... если он до этого был сохранен...

хотя это может быть чревато... :)
Если ясность вашего объяснения исключает ложное толкование, все равно кто-то поймет вас неправильно.

AlexG
Обычный пользователь
Обычный пользователь
 
Сообщения: 69
Зарегистрирован: 08.12.2003 (Пн) 15:47
Откуда: Украина, Киев

Сообщение AlexG » 26.01.2007 (Пт) 17:57

Из книги Джона Уокенбаха

"...
Можно ли предоставить пользователю возможность отменить результат
выполнения макроса?
Да, но эта возможность не доступна по умолчанию. Для того чтобы включить ее, модуль
кода VBA должен отслеживать изменения, проведенные макросом. Макрос должен быть го-
тов отменить внесенные изменения при выборе пользователем команды ПравкаоОтмена.
Чтобы разрешить пользователю выполнять команду Правка^Отмена, воспользуйтесь
методом OnUndo в качестве последнего оператора макроса. Этот метод позволяет указать
текст, который отображается в опции меню Отмена, а также процедуру, вызываемую коман-
дой Правка=>Отмена. Например:
Application.OnUndo "Последний макрос", "MyUndoMacro"

....."

Krasnaja Shapka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 87
Зарегистрирован: 26.10.2006 (Чт) 12:13
Откуда: Киев

Сообщение Krasnaja Shapka » 27.01.2007 (Сб) 15:23

AlexG писал(а):Этот метод позволяет указать текст, который отображается в опции меню Отмена, а также процедуру, вызываемую командой Правка=>Отмена."

т.е дополнительно необходимо накатать свой undo макрос, я правильно понял?
Если ясность вашего объяснения исключает ложное толкование, все равно кто-то поймет вас неправильно.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 29.01.2007 (Пн) 8:33

Именно так
Весь мир матрица, а мы в нем потоки байтов!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 99

    TopList