Основы офисного программирования и язык VBA

       

Установка начальных значений свойств элементов управления


Начальное значение (или значение по умолчанию) свойства элемента управления можно установить в процедуре, обрабатывающей событие Initialize (Инициализация) диалогового окна, содержащего данный элемент. Это событие возникает всякий раз при выводе диалогового окна на экран и запускает на выполнение процедуру без аргументов с именем ИмяОкна_Initialize. Поэтому установленные в ней значения свойств всегда будут начальными. Это не значит, что они должны быть постоянными. Значения могут зависеть от текущей даты, данных в ячейках рабочего листа Excel, некоторых записей в базе данных Access и т. п.

Давайте создадим диалоговое окно с процедурой инициализации.

  1. Создайте новое диалоговое окно и разместите в нем статический текст Label (Метка), поле ввода TextBox, окно списка ListBox и кнопку независимого выбора (флажок) CheckBox.
  2. В окне Свойства, измените их имена (свойство Name): Label - на CurrDate, TextBox - на MyText, ListBox - на lstColors, CheckBox - на chkGood, UserForm - на frmInit. Эти изменения внутренних имен элементов и окна не скажутся на его изображении в редакторе.


    Рис. 12.13.  Окно до инициализации

  3. Дважды щелкните диалоговое окно, чтобы вызвать окно с кодом (Code). Установите в списке объектов слева вверху UserForm (по умолчанию этот объект и будет выбран при вызове окна кода) и выберите команду Initialize в списке процедур справа вверху. На экране появится шаблон процедуры инициализации диалогового окна UserForm_Initialize. Введите текст следующей процедуры.

    Private Sub UserForm_Initialize() With frmInit .Caption = "Окно после инициализации" ' заголовок диалогового окна .CurrDate.Caption = "Сегодня " & Format(Date, "dd/mm/yy") 'метка - текущая дата .MyText.Text = "Любимый цвет:" 'начальный текст в редакторе .chkGood.Value = True 'включение флажка .chkGood.Caption = " Хороший день" ' заголовок флажка With.lstColors 'задание элементов списка: .AddItem "белый" .AddItem "черный" .AddItem "синий" .AddItem "красный" .AddItem "зеленый" .AddItem "желтый" .AddItem "голубой" .ListIndex = 4 'выбор 5-го элемента в списке ("зеленый") End With End With

    End Sub

    Нумерация элементов массивов и коллекций, связанных с формами, начинается с 0. Поэтому, чтобы выделить при выводе окна пятый элемент в списке цветов, свойству ListIndex присвоено значение 4.

  4. Запустите диалоговое окно в отладчике. На экране оно будет выглядеть так:


    Рис. 12.14.  Окно после инициализации

    Щелкнув кнопку Close (Закрыть) на строке заголовка окна, возвратитесь в режим проектирования.



Содержание раздела