Книга: Офисное программирование
Глава 2 Объект UserForm
Разделы на этой странице:
- Свойства объекта UserForm
- Наиболее часто используемые свойства объектов UserForm
- Методы объекта UserForm
- Наиболее часто используемые методы для объектов UserForm
- События объекта UserForm
- События объектов UserForm
- Элементы управления
- Стандартные элементы управления, включенные в VBA
- Cвойства стандартных элементов управления
2.1. Свойства и методы объекта UserForm
Свойства объекта UserForm
Рассматривая в п. 1.2 и 1.3 примеры, решаемые в редакторе VBA, можно прийти к выводу, что такие простейшие задачи с выводом единственного результата в диалоговое окно не всегда будут удовлетворять потребностям пользователей. Одним из достоинств языка программирования VBA является то, что он относится к объектно-ориентированным языкам. Следовательно, в данную среду программирования уже заложены возможности создания форм и его элементов простым использованием без составления громоздкого программного кода.
Практически во всех приложениях Office используются пользовательские диалоговые окна. Диалоговые окна в VBA называются формами (объект UserForms). Каждому объекту UserForm присущи определенные свойства, методы и события, которые он наследует от класса объектов UserForms. Диалоговые окна (формы) и элементы управления составляют основу современного визуального интерфейса. Все элементы управления и технология работы с ними в основном стандартизованы и похожи для разных платформ и программных сред. Эти объекты помещены в специальную библиотеку MSForms.
Выделим основные моменты, которые следует иметь в виду при создании визуального интерфейса.
• Все загруженные диалоговые окна представляют коллекцию UserForms со стандартными методами и свойствами. Элемент коллекции – объект класса UserForm – задает отдельное окно.
• Для каждого типа элементов управления в библиотеке msforms имеется класс объектов, имя которого совпадает с именем элемента управления (его типа). Например, есть классы SpinButton и TextBox.
• Диалоговые окна создаются, как правило, не программно, а визуально. Вначале создается само окно, а затем оно наполняется элементами управления при помощи соответствующей панели элементов. Этот этап называется этапом проектирования, и его следует отличать от этапа выполнения, когда приложение выполняется и конечный пользователь взаимодействует с приложением, в частности через диалоговые окна и их элементы управления. Как только создается диалоговое окно и помещается в него тот или иной элемент управления, в этот же самый момент автоматически в программе появляется объект соответствующего класса, с которым можно работать, вызывая его методы и изменяя его свойства.
На этапе проектирования, используя окно свойств, можно задать большинство свойств как самого диалогового окна, так и всех элементов управления, помещенных в него, кроме этого, программно необходимо прописать все обработчики событий.
• Последний момент – отладка. Для ведения отладки нужно предварительно откомпилировать приложение и затем перейти в режим выполнения приложения.
Для того чтобы в разрабатываемое приложение можно было добавить форму, необходимо выполнить следующие действия:
1) запустить редактор VBA;
2) выделить правой кнопкой мыши объект Project, выполнить команду Insert + UserForm (рис. 11), после чего появляются новая форма и панель элементов Toolbox (рис. 12).
Рис. 11. Добавление формы
Рис. 12. Новая форма
Форма как объект имеет некоторые встроенные свойства, и их можно устанавливать или программным образом, или в Properties Window (окне свойств) редактора VBA (табл. 6).
Таблица 6
Наиболее часто используемые свойства объектов UserForm
Методы объекта UserForm
Всякий раз, создавая в проекте новый объект UserForm, одновременно создается новый подкласс объекта UserForm. Любые процедуры или функции, написанные в разделе General (общий) модуля класса, относящегося к форме, становятся дополнительными методами для отдельного подкласса объекта (табл. 7).
Таблица 7
Наиболее часто используемые методы для объектов UserForm
События объекта UserForm
Событие – это что-то, что может произойти с диалоговым окном или элементом управления диалогового окна (табл. 8).
Событийные процедуры следует записывать в модуль класса, который является частью User Form. При этом такие процедуры должны иметь имена в виде
ObjectName_EventName,
где ObjectName – имя формы или элемента управления, a EventName – имя события, с которым идет работа. Такой формат имени позволяет VBA сопоставлять заданному событию требуемую процедуру.
Таблица 8
События объектов UserForm
Элементы управления
Объект UserForm может содержать те же элементы управления, что и находящиеся в диалоговых окнах Word, Excel или других приложений Windows (табл. 9). Элементы управления – это элементы диалогового окна, позволяющие пользователю взаимодействовать с программой. Они включают в себя кнопки-переключатели, текстовые поля, линейки прокрутки, командные кнопки и т. д.
Таблица 9
Стандартные элементы управления, включенные в VBA
Обращение к элементам управления происходит в основном через их свойства и с помощью процедур обработки событий, написанных для каждого элемента (табл. 10).
Таблица 10