Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

Ключевое слово WithEvents — модификатор переменной

    Модификация переменной, ссылающейся на экземпляр класса, с помощью ключевого слова WithEvents, чтобы она могла вызывать события в VBA Excel.

    WithEvents — модификатор переменной

    Ключевое слово WithEvents указывает, что объявленная переменная ссылается на экземпляр класса, который может вызывать события.

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

    Чаще всего переменную с ключевым словом WithEvents объявляют на уровне модуля:

    Реже такие переменные объявляют с ключевым словом Public или Dim, но это тоже допустимо.

    Особенности применения WithEvents

    Правила и ограничения модификации переменных с помощью ключевого слова WithEvents:

    • WithEvents можно использовать только на уровне класса или модуля.
    • Нельзя использовать WithEvents для элемента структуры. Можно объявить только отдельные переменные, а не массивы WithEvents.
    • Переменная с WithEvents должна быть объявлена как объектная, но конкретного класса, который может вызывать события: As MSForms.ComboBox, As MSForms.CommandButton и т.д. То есть, объявление As Object не подходит.

    Пример с использованием WithEvents

    Создание с помощью кода VBA Excel интерфейса для отображения расстояний от Солнца до планет Солнечной системы:

    1. Создайте пользовательскую форму.
    2. Разместите в модуле формы следующий код:

    В данном примере динамически созданный элемент управления ComboBox реагирует на событие ComboBox_Change().


    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.