В предыдущих версиях VBA у
каждого объекта поддерживалось
только одно событие, в
большинстве случаев - событие
Click. В VBA 5.0 объекты, включая
элемент Application, имеют
множество событий. Чтобы
обработать событие с помощью
объекта Application,
необходимо создать новый модуль
класса и объявить в нем
переменную, используя ключевое
слово WithEvents:
Public
WithEvents oApp As Application
Ключевое слово WithEvents определяет, что
переменная oApp
используется для обработки
события объекта. Данное ключевое
слово допускается только в
модулях класса и описывает
только переменные уровня модуля.
Теперь требуется связать
описанный в модуле класса объект
с элементом Application. Это
можно сделать в любом модуле,
указав следующий код:
' Инструкция
Dim располагается в разделе
описаний модуля.
' Имя EventClassModule - имя модуля
класса.
Dim X As
New EventClassModule
Sub InitializeAppEvents ()
Set
X.oApp = Application
End Sub
После выполнения процедуры
InitializeAppEvents объект oApp в модуле класса
указывает на объект Excel
Application, что позволяет
использовать процедуры
обработки в модуле класса при
возникновении событий. Если
необходимо включить или
отключить обработку событий, в
программе следует изменить
значение свойства Application.EnableEvents.
Если данное свойство имеет
значение True, то процедуры
обработки доступны.
Ниже описываются некоторые
события объекта Application.
Следует отметить, что именем
объекта для события object_ИмяСобытия
(например, object_NewWorkbook) -
является имя переменной, которая
описана с помощью ключевого
слова WithEvents.
Для комментария :
kadan@grsu.grodno.by
|