14.1.4. Процедуры обработки событий и методов
В VBА пользовательской форме и элементам управления поставлен в соответствие определенный набор событий, происходящих в период выполнения программ, например событиеLoad(загрузка) происходит при загрузке пользовательской формы, Cliсk (щелчок) вызывается щелчком кнопки мыши, DblClick (двойной щелчок) – двойным щелчком кнопки мыши и т. д.
Каждому событию соответствует процедура обработки. Событие может вызывать программируемое изменение данных. Редактор Visual Basic содержит автоматически формируемые заготовки для таких процедур в поле для записи программы. Имя процедуры формируется автоматически и состоит из двух частей (имя выделенного диалогового элемента и имя выделенного события) разделенных подчеркиванием.
Изменять объект формы
можно при помощи стандартных методов и
свойств класса UserForm, а
также при помощи собственных процедур обработки событий для определенной
пользователем формы и ее элементов
управления.
Метод – команда, которая используется для изменения объекта. Методы работают как процедуры или функции (т. е. обеспечивают выполнение тех или иных действий или изменение данных соответственно стандартному алгоритму, реализующему данный метод), но принадлежат конкретным объектам. Для того чтобы вызвать метод, указывают имя объекта и через точку – имя метода:
{[имя_формы.]|[имя_формы.]имя_элемента_управления.}имя_метода
14.2. Пример разработки приложения
Требуется разработать программу Add сложения двух чисел, вводимых пользователем с
клавиатуры в два поля с именами «Число 1» и
«Число 2», с отображением результата в поле «Результат». Результат
должен отображаться после нажатия кнопки «Сложить». Программа должна заканчивать
работу после нажатия кнопки «End».
Пользовательский
интерфейс Add содержит в себе две командные кнопки,
два поля отображения чисел с надписями «Число 1», «Число 2»,
два объекта (типа надпись) «Add»,
«Результат» и пустой
объект (типа надпись) для вывода результата. Окно программы должно иметь вид,
показанный на рис. 14.4.
Процесс программирования приложения Addвключает в себя три этапа: проектирование интерфейса с установкой свойств объектов, написание программного кода, отладка программы.
14.2.1. Разработка пользовательского интерфейса
1) В окне редакторе Visual Basic выбрать команду ВставитьUserForm (Insert UserForm) (см. рис. 14.1).
2) Для создания на форме кнопки необходимо:
а) щелкнуть левой кнопкой мыши на изображении соответствующего элемента управления CommandButton на панели инструментов Tolls (см. рис. 14.2);
б) расположить указатель мыши на созданной кнопке – указатель изменится со стрелки на крестик, переместить крестик в то место формы, где будет находиться один из углов создаваемого элемента интерфейса;
в) нажать левую кнопку мыши и перемещать указатель до тех пор, пока изображение элемента не станет нужного размера, после чего следует отпустить кнопку – объект будет создан.
По умолчанию первая командная кнопка, имеющая набор команд управления, называется CommandButton1. Эту кнопку можно перемещать и изменять ее размеры, как это обычно делается в Windows.
3) Аналогичным способом создать вторую командную кнопку, поместив ее ниже первой. Кнопка получит имя CommandButton2.
4) Числовые и
текстовые данные могут вводиться в текстовые поля
(окна). Для того чтобы создать на форме текстовое поле, нужно щелкнуть по
кнопке панели инструментов и, удерживая нажатой левую кнопку мыши, переместить
объект в верхний угол формы. По умолчанию объект получает имя TextBox1.
5) Повторив
действия, приведенные в п.4, создать объект TextBox2 и
поместить его под объектом TextBox1.
6) Для показа
текста и формирования надписей используется элемент
Надпись. Добавить надпись для отображения результата. Созданный объект получит
имя Label1.
|
|
|
14.2.2. Установка свойств объектов
Наиболее употребительные свойства элементов в Excel VBA, их тип и значение приведены в табл. 14.2.
Таблица 14.2
Свойства элементов интерфейса
Элемент |
Свойство |
Значение |
|
1 |
2 |
3 |
|
Форма |
(Name) |
UserForm1 |
|
Caption |
Add |
||
Кнопка |
(Name) |
Cmd1 |
|
Caption |
Сложить |
||
Кнопка |
(Name) |
CmdEnd |
|
Caption |
End |
||
Надпись |
(Name) |
Lb3 |
|
Caption |
Число 1 |
||
Border Style |
fmBolderStyleSingle |
||
Надпись |
(Name) |
Lb4 |
|
Caption |
Число 2 |
||
Border Style |
fmBolderStyleSingle |
||
Надпись |
(Name) |
Lb2 |
|
Caption |
Результат |
||
Border Style |
fmBolderStyleSingle |
||
Надпись |
(Name) |
Lb1 |
|
Caption |
Empty (пусто) |
||
Border Style |
fmBolderStyleSingle |
||
Надпись |
(Name) |
Lb5 |
|
Caption |
ADD |
||
Border Style |
fmBolderStyleSingle |
||
Поле |
(Name) |
Text1 |
|
SpecialEffect |
fmSpecialEffectSunken |
||
TextAlign |
fmTextAlignCenter |
||
Text |
Empty (пусто) |
||
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.