Методы объекта UserForm
Исходный объект UserForm обладает рядом методов, наиболее часто используемые из которых приведены в таб.2. Эти методы доступны для каждой формы, добавляемой в проект.
Таблица 2. Основные методы объекта UserForm
Метод |
Назначение |
Copy |
Копирует выделенный в элементе управления текст в буфер обмена Windows |
Cut |
Вырезает выделенный в элементе управления текст и помещает его в буфер обмена Windows |
Hide |
Скрывает форму, не выгружая ее из памяти, сохраняя значения элементов управления формы и всех переменных, объявленных в модуле класса формы |
Move |
Изменяет положение и размер формы |
Paste |
Вставляет содержимое буфера обмена Windows в текущий элемент управления |
PrintForm |
Выводит на используемый в Windows по умолчанию принтер изображение формы, включая все данные, введенные в элементы управления |
Repaint |
Перерисовывает форму, выведенную на экран. Используйте этот метод, если хотите перерисовать форму, не ожидая, когда она будет перерисована через обычный период времени |
Show |
Выводит форму на экран. Если форма еще не загружена в память, то данный метод сначала ее загружает |
События объекта UserForm
Событие (event) – это факт, связанный с изменением состояния формы или элемента управления, требующий выполнения некоторых действий (обработки события). Каждому событию может быть сопоставлена процедура, выполняющая необходимые действия - обработчик события. Обработчики событий могут быть назначены программно или в процессе визуального проектирования формы. При визуальном проектировании заготовка обработчика вида:
Private Sub UserForm_Click()
формируется автоматически, при двойном клике указателем мыши на форме или элементе управления. Код обработчика создается вручную.
Основная часть кода, который разработчик записывает в модуль класса формы, связана с обработкой событий. В таб.3 перечислены основные события объекта UserForm, для которых можно написать обработчик в режиме визуального программирования.
Таблица 3. Основные события объекта UserForm
Событие |
Описание |
Activate |
Происходит, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно формы было неактивным |
Click |
Происходит при щелчке мышью по форме (любой ее части, не занятой элементами управления) |
DblClick |
Происходит при двойном щелчке мышью по форме (любой ее части, не занятой элементами управления) |
Deactivate |
Происходит, когда форма перестает быть активной |
Initialize |
Происходит, когда форма впервые загружается в память посредством выполнения оператора Load или с помощью метода Show. Используйте это событие для инициализации элементов управления формы при ее появлении на экране |
Resize |
Происходит при изменении размеров формы |
Terminate |
Происходит при закрытии формы, т.е. когда форма выгружается из памяти. Используйте это событие для осуществления специальных задач, которые необходимо выполнить прежде, чем переменные формы будут выгружены |
В дополнение к методам, свойствам и событиям, встроенным в объект UserForm, VBA предоставляет два оператора, которые особенно полезны при работе с объектами форм: Load и Unload.
Синтаксис операторов Load и Unload:
Load Object Unload Object
Здесь Object представляет любую допустимую ссылку на объект UserForm.
Оператор Load загружает в память объект UserForm и запускает метод формы Initialize, но не выводит форму на экран. Когда форма загружена, можно использовать написанную на VBA программу для работы с объектом UserForm.
Оператор Unload удаляет из памяти объект UserForm, а также все переменные формы. После того, как форма выгружена, она перестает быть доступной для VBA-кода.
