Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая / Источники / excel_2010_professionalnoe_programmirovanie_na_vba_RuLit_Me_412629.pdf
Скачиваний:
4
Добавлен:
27.09.2025
Размер:
22.97 Mб
Скачать
w orkbook_0pen.
False.
in s t a lle d

680

Часть V. Профессиональные методы программирования

Предупреждение

Использование метода c lo s e по отношению к установленной надстройке приводит к ее удалению из памяти, но не присваивает свойству in s t a lle d значения False . В результате в диалоговом окне Надстройки (Add-Ins) про­ должают отображаться установленные надстройки. Правильный способ удаления установленных надстроек — присвоить свойству зна­ чение

Итак, как вы заметили, возможность использования надстроек Excel несколько неод­ нозначна. Разработчик должен быть особо внимателен к вопросам установки и удаления надстроек.

События объекта Addin

Объекту A d d in присущи два события: A d d l n l n s t a l l (возникает при установке надстройки) и A d d ln U n in s t a ll (возникает при удалении надстройки). Можно создать

процедуры обработки этих событий, которые размещаются в модуле кода объекта T h is W o rk b o o k (ЭтаКнига), соответствующего надстройке.

В следующем примере отображается окно сообщения, которое появляется в момент установки надстройки.

P riv a te

Sub W o rk b o o k _ A d d In In s ta ll()

 

MsgBox

ThisW orkbook.Name &

" надстройка

деинсталлирована."

End Sub

 

 

 

 

Предупреждение

 

 

 

He путайте событие

A d d ln ln s ta ll

с событием Open. Событие A d d ln ­

 

ln s t a l l происходит в том случае, когда надстройка устанавливается впер­

вые, а не при каждом ее открытии. Если нужно вызывать код при каждом от­ крытии надстройки, используйте процедуру

Перекрестная ссылка

Дополнительные сведения о событиях можно найти в главе 19.

Оптимизация производительности надстроек

Если попросить десять программистов провести автоматизацию определенной задачи, то вполне вероятно, что в результате будет получено десять различных решений. Чаще все­ го производительность всех этих решений будет находиться на одинаковом уровне.

Приведенные ниже рекомендации можно использовать для обеспечения максималь­ ного быстродействия кода — они позволят ускорить выполнение любого кода VBA, а не только кода надстроек.

• Установите свойство A p p lic a tio n .S c r e e n U p d a tin g равным значению F a lse , если выполняется запись данных на рабочий лист выполняются другие действия, приводящие к изменению отображаемых данных.

Объявите тип данных всех применяемых переменных, а в завершенном коде любой ценой избегайте использования переменных типов. Используйте опера­