Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Восстановление чувствительности к событиям Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Восстановление чувствительности к событиям Excel
v__step Дата: Воскресенье, 13.01.2013, 16:00 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Счёл нужным выделение проблемы в отдельную тему ввиду её важности и, к сожалению, распространённости

Программное назначение Application.EnableEvents = False при сбойном возврате в исходное состояние может иметь много неприятных и даже опасных последствий
Я сталкивался со слётом чувствительности при работе вполне корректных процедур в связке Excel-Autocad

Проблема недавно обсуждалась на Планете, предложен интересный и неожиданный вариант решения
http://62.76.186.61/forum....age2318

Ещё одно решение, основанное на совместном использовании летучей функции и UDF

Замечание1: любой инструмент восстановления чувствительности не должен срабатывать при активных процедурах, отключивших чувствительность
Для этого можно использовать логическую переменную, управляемую из этих процедур
Также поможет временное назначение режима ручного счёта

Замечание2: при наличии чужого неконтролируемого кода опасно не только отключение, но и включение обработчиков событий
К сообщению приложен файл: 8171614.xls (34.0 Kb)


С уважением, Владимир

Сообщение отредактировал v__step - Воскресенье, 13.01.2013, 18:06
 
Ответить
СообщениеСчёл нужным выделение проблемы в отдельную тему ввиду её важности и, к сожалению, распространённости

Программное назначение Application.EnableEvents = False при сбойном возврате в исходное состояние может иметь много неприятных и даже опасных последствий
Я сталкивался со слётом чувствительности при работе вполне корректных процедур в связке Excel-Autocad

Проблема недавно обсуждалась на Планете, предложен интересный и неожиданный вариант решения
http://62.76.186.61/forum....age2318

Ещё одно решение, основанное на совместном использовании летучей функции и UDF

Замечание1: любой инструмент восстановления чувствительности не должен срабатывать при активных процедурах, отключивших чувствительность
Для этого можно использовать логическую переменную, управляемую из этих процедур
Также поможет временное назначение режима ручного счёта

Замечание2: при наличии чужого неконтролируемого кода опасно не только отключение, но и включение обработчиков событий

Автор - v__step
Дата добавления - 13.01.2013 в 16:00
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!