|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2011, 18:14 | #1 |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Событие "прекращение выполнения макроса"
Есть несколько макросов которые в своей работе создают диалоговые окна. Нужно: что бы по завершению работы любого из этих макросов запускался макрос. Как это сделать? Было бы удобно сделать это через событие (а то не ровен час уйдем в зацикливание), но такого я не нашел. Как быть?
С уважением, Алексей.
|
22.06.2011, 19:16 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
последней строкой в каждом макросе запускаем "ПоследнийМакрос"
"ПоследнийМакрос" при запуске проверяет состояние глобальной переменной, и если её значение говорит о том, что копия этого макроса уже запущена, - то он завершает работу. как-то так: Код:
|
22.06.2011, 21:56 | #3 | |
Форумчанин
Регистрация: 02.02.2009
Сообщений: 842
|
Цитата:
Опишу проблему подробнее: на экране постоянно присутствует форма запущенная в режиме vbModeless. При выполнении в макросе команды "Exit" происходит закрытие не только самого макроса, но и формы работающей в режиме vbModeless. Нужно его снова открыть. Сама форма работающая в режиме vbModeless расположен в xla. То есть, в теории, должна быть универсальна и "работать" со всеми макросами. У себя я решу проблему (замена "Exit" на "Exit Sub" не проблема) , но при этом теряется универсальность. Так как при работе с книгами других людей, где будут свои макросы, может возникнуть та же проблема. Единственный способ 100% борьбы я вижу в обязательном запуске после каждого макроса (из любой книги) макроса из xla которые проверит наличие окна в режиме vbModeless и если его нет - восстановит его. Как я понимаю, наложить иммунитет на форму от команды "Exit" возможности нет. В чем я не прав? И как можно решить проблему?
С уважением, Алексей.
Последний раз редактировалось tae1980; 22.06.2011 в 22:08. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как "повесить " передачу данных из формы на событие нажатия кнопки типа "button" ? | vedro-compota | JavaScript, Ajax | 10 | 14.12.2010 21:05 |
Прекращение выполнения макроса | AesmaDiv | Microsoft Office Excel | 6 | 12.12.2010 18:30 |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
Проблемма: Программное отключение "защиты формы" влияет на скорость выполнения программного кода... | StrikeR33 | Microsoft Office Word | 0 | 28.05.2008 20:11 |