
Элементы управления
Объект UserForm может содержать те же элементы управления, что и находящиеся в диалоговых окнах Word, Excel или других приложений Windows. Элементы управления (controls) – это элементы диалогового окна, которые дают возможность пользователю взаимодействовать с программой. Используя этот набор и редактор форм не трудно создать любой пользовательский интерфейс, который будет удовлетворять всем требованиям, предъявляемым к интерфейсу в среде Windows. Элементы управления являются объектами. Поэтому, как любые объекты, они обладают свойствами, методами и событиями. Как и для формы, их содержащей, свойства элементов управления можно устанавливать программным путем или с помощью окна свойств (Properties Window) редактора VBA. В программе можно присваивать или восстанавливать значения свойств элементов управления так же, как и для любых других объектов. Элементы управления создаются при помощи панели инструментов Toolbox (Панели элементов).
Создание элементов управления на рабочем листе, в документе или в форме, как правило, происходит на начальном этапе конструирования приложения. Иногда используется программное создание элементов управления в процессе работы приложения. Но этот подход применяется реже. Большинство элементов управления можно располагать как в документе или на рабочем листе, так и в форме. Но существуют такие элементы, как Набор страниц и Набор вкладок, которые можно располагать только в форме. В таб. 4 приведен список стандартных элементов управления, включенных в VBA, и соответствующих кнопок панели инструментов Toolbox, а также описано назначение каждого элемента. Как видно из этой таблицы, к стандартным относятся практически все элементы управления, которые встречаются в приложениях Windows.
Таблица 4. Стандартные элементы управления, включенные в VBA
Элемент управления |
Назначение |
Label (надпись, метка) |
Позволяет создавать заголовки элементов управления, которые не имеют собственных встроенных заголовков |
TextBox (текстовое поле) |
Окно редактируемого текста свободной формы для ввода данных. Может быть одно- и многострочным |
ComboBox (поле со списком) |
Объединяет окно редактирования и окно списка |
ListBox (список) |
Отображает список значений, из которых пользователь может сделать выбор |
CheckBox (флажок) |
Стандартный флажок, который используется для выбора вариантов, не являющихся взаимоисключающими |
OptionButton (переключатель) |
Стандартная кнопка-переключатель. Используется, когда пользователю необходимо сделать выбор между "включено/выключено" |
ToggleButton (выключатель) |
Выключатели служат для той же цели, что и флажки, но выводят установки в виде кнопки, находящейся в "нажатом" или "отжатом" состоянии |
Frame (рамка) |
Визуально и логически объединяет некоторые элементы управления (особенно флажки, переключатели и выключатели) |
CommandButton (кнопка) |
Используется для выполнения таких действий, как Cancel (Отмена), Save (Сохранить), Ok и т.д. Когда пользователь щелкает по кнопке, выполняется VBA-процедура, закрепленная за данным элементом управления |
TabStrip (набор вкладок) |
Состоит из области, в которую следует помещать другие элементы управления (такие, как текстовые поля, флажки и т.д.) |
MultiPage (набор страниц) |
Состоит из нескольких страниц. Можно выбрать любую из них, щелкнув по соответствующей вкладке |
ScrollBar (полоса прокрутки) |
Позволяет выбирать линейное значение, аналогичное тому, как это можно сделать при помощи счетчика |
SpinButton (счетчик) |
Специальная разновидность текстового поля. Используется для ввода последовательных величин, которые заведомо находятся в определенном интервале значений (число, дата и т.п.) |
Image (рисунок) |
Выводит на форме графическое изображение любом из следующих форматов: *.bmp, *.cur, *.gif, *.ico, *.jpg, *.wmf |
Для удобства работы с элементами управления в период их конструирования в приложениях Microsoft Office введен режим конструктора, который активизируется нажатием кнопки Режим конструктора (Designe Mode) панели инструментов. В режиме конструктора отключена реакция элемента управления на события. Поэтому при включенном режиме конструктора можно видоизменять элемент управления и задавать его свойства. Размещенный на форме элемент управления можно перемещать, изменять его размеры, копировать в буфер обмена и вставлять из буфера обмена. Отключается режим конструктора той же кнопкой Режим конструктора (Designe Mode).