Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.01.2009, 10:16   #31
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
А 3, пункт?
Если Вы про Application.EnableEvents, то в самом начале нашей процедуры обработчик событий отключается (это необходимо для корректной работы). По окончанию процедуры его нужно разрешить. В коде макроса есть две точки выхода из процедуры. Одна - при не верном вводе имени файла для сохранения (Exit Sub), другая - после выполнения всех операций. В обоих случаях, перед завершением работы макроса выполняется Application.EnableEvents = True.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.01.2009, 10:45   #32
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Если Вы про Application.EnableEvents, .
Но я одну не нахожу их три всего, а не четыре, вот о чем я, это в макросе файла "На чч.чч.чч"
valerij вне форума
Старый 19.01.2009, 10:58   #33
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Прочитайте пост № 31 еще раз. Внимательнее.
Application.EnableEvents = False - выполняется в начале процедуры.
Application.EnableEvents = True - выполняется в теле функции If перед условным выходом из процедуры.
Application.EnableEvents = True - выполняется в конце кода, перед безусловным выходом. (Итого 3 раза)
Т.е. перед тем, как завершить выполнение процедуры, хоть в первом, хоть во втором случае, обработчик событий необходимо восстановить.
Как еще объяснить?
Если выполнилось условие неправильного ввода имени файла для сохранения, то выводится сообщение (MsgBox), восстанавливается обработчик событий (Application.EnableEvents = True), и осуществляется выход из процедуры (Exit Sub).
Можно, конечно, вместо Exit Sub сделать GoTo на Application.EnableEvents = True, который расположен в конце кода, но зачем лишнее?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 19.01.2009, 11:04   #34
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
но зачем лишнее?
Все понял, вопросов больше. нет!.
Еще раз, Спасибо!!
valerij вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматический запуск макроса Len@ Microsoft Office Excel 6 23.07.2008 12:05
Автоматический скролинг в редакторе кода Altera Общие вопросы Delphi 0 05.06.2008 16:23
автоматический перевод с английского Alar Общие вопросы Delphi 5 04.04.2008 18:23
Автоматический вызов функции класса Flaton Общие вопросы C/C++ 4 19.10.2007 17:56
Ярлык программы Washington Общие вопросы Delphi 10 07.04.2007 06:27