
- •Лабораторная работа №1 Элементы управления пользовательская форма (vba)
- •Элементы управления
- •Режим конструктора
- •Установка свойств элемента управления
- •Редактор кода
- •Пользовательская форма UserForm
- •Семейство Controls
- •Создание пользовательской формы
- •Свойства элементов управления Поле
- •Надпись
- •Заполнение списка
- •Выбор нескольких элементов из списка
- •Поле со списком
- •Полоса прокрутки и счетчик
- •Переключатель
- •Флажок и выключатель
- •Ссылки на ячейки и диапазоны
- •Набор страниц
- •Набор вкладок
- •Дополнительные элементы управления
- •Отображение встроенных диалоговых окон
- •Индивидуальные задания
Режим конструктора
Для удобства работы с элементами
управления в период их конструирования
в Excel введен режим конструктора,
который активизируется нажатием кнопкиРежим конструктора(DesignMode)панели инструментовЭлементы управления(ControlToolbox).
В режиме конструктора отключена реакция
элемента управления на события. Поэтому
при включенном режиме конструктора
можно видоизменять элемент управления
и задавать его свойства. На рис.2 показано
создание элемента управленияCommandButton(кнопка) на рабочем листе. После того
как пользователь решит, что созданный
элемент управления имеет тот вид, который
ему нужен, и все требуемые свойства
элемента управления установлены, он
должен отключить режим конструктора
повторным нажатием кнопкиРежим
конструктора(DesignMode).
Рис.2.Создание элемента управления CommandButtonна рабочем листе
Установка свойств элемента управления
Для установки свойств элемента управления
вручную при его конструировании
необходимо выделить элемент управления
и нажать кнопку Свойства(Properties)панелиЭлементы управления(ControlToolbox). На экране отобразится
диалоговое окноСвойства(Properties)
(рис.3). Вручную при помощи этого окна
обычно устанавливается свойствоCaption,
возвращающее отображаемый текст элемента
управления. На рис.3 значение свойстваCaptionэлемента управленияCommandButtonизменено с установленногопо умолчанию
(CommandButton1)
на текст Нажми меня.
Рис.3.Диалоговое окно Свойства и элемент управленияCommandButton
Кроме того, могут быть внести изменения в параметры свойства Font, устанавливающее шрифт выводимого на поверхность кнопки текста и изменено свойствоShadow, которое устанавливает, отображается ли элемент управления с тенью или без нее.
Редактор кода
После установки свойств элемента управления или формы переходят к написанию кода, связанного с ними. Особое место в этом коде занимают процедуры обработки событий. У каждого элемента управления есть целый набор событий, обрабатывающих те или иные действия. Приведем некоторые из них:
Click |
Щелчок |
DblClick |
Двойной щелчок |
GotFocus |
Кнопка в фокусе |
LostFocus |
С кнопки снят фокус |
Код обработки события записывается на
листе модуля. Для активизации модуля в
том месте, где надо ввести код по обработке
события, связанного с выделенным
элементом управления, или отредактировать
уже написанный код достаточно нажать
кнопку Исходный текст(View Code)панели инструментовЭлементы управления(Control Toolbox).
Нажатие на кнопку Исходный текст(View Code) активизирует модуль с именемЛист1, т.е. модуль, относящийся к рабочему листу, на котором создана кнопка (рис.4). Вся рабочая книга, а также каждый рабочий лист, диаграмма или форма имеют связанные с ними модули кода. Кроме того, можно создать модули кода для макросов и модули класса.
Рис.4.Модуль окна и окно Проект
В левой верхней части модуля кода находится раскрывающийся список с именами объектов, для которых в данном модуле создаются процедуры обработки событий. В этом списке также представлен раздел модуля Общая часть(General), где описываются переменные и константы уровня модуля.
В правой верхней части модуля кода находится раскрывающийся список с имнами событий, связанных с данным объектом.
Составим процедуру обработки события Clickтак, чтобы нажатие на кнопку отображало на экране диалоговое окно, уведомляющее пользователя о случившемся действии (нажатии кнопки) (рис.5):
Private Sub CommandButton1_Click()
MsgBox “Вы нажали на меня”
End Sub
Рис.5. Диалоговое окно, отображаемое на экране при нажатии кнопки Нажми меня