Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание пользовательских п ÒÉÌÏÖÅÎÉÊ ÓÒÅÄÓÔÁÍ...doc
Скачиваний:
6
Добавлен:
18.11.2019
Размер:
2.02 Mб
Скачать

Раздел 7.Пользовательские формы

Объекты Userform (формы) используются в VBA для организации интерфейса пользователя. Формы представляют собой диалоговые окна, содержащие различные стандартные элементы управления, такие как кнопки, списки, переключатели и т.д. Диалоговые окна пользователя, элементы диалоговых окон, событийные процедуры можно рассматривать как "кубики", из которых разработчик строит удобный для пользователя интерфейс. Все элементы просты и очевидны, сложность конструкции ограничена изобретательностью разработчика и запросами пользователя.

Форма и любой объект управления, размещенный в форме, обладает свойствами, методами и событиями. Например, каждая форма имеет свойства – название формы в титульной строке окна, наличие и цвет рамки, цвет фона формы.

Чтобы создать новую форму, выполните команду Userform из меню Insert. При этом в окно проекта добавляется, если она отсутствовала, папка Forms. Раскрыв ее, можно увидеть перечень всех форм, относящихся к проекту.

В папке Forms появится строка, соответствующая новому объекту Userform, с именем формы. Имя формы строится в соответствии со стандартом и состоит из ключевого слова UserForm и порядкового номера создаваемой формы.

Режимы работы с формой

Работа с формой производится в двух режимах: режиме конструктора и режиме выполнения.

Режим конструктора

В режиме конструктора добавляются, модифицируются или удаляются элементы управления, редактируются процедуры процедурного листа формы.

Одновременно могут быть открыты несколько форм, каждая в отдельном окне. В единицу времени активна только одна форма. Ее окно расположено поверх окон остальных форм и титульная строка высвечено ярко. Команды меню Window позволяют по-разному расположить окна форм и листов с процедурами (см. рис. 7.1).

Вновь создаваемая форма автоматически представляется в режиме конструктора, ранее созданная форма открывается в режиме конструктора двойным щелчком на строке с именем формы в папке Forms окна проекта.

Имя окна, в котором открывается форма в режиме конструктора, состоит из имени рабочей книги и имени формы, в скобках после которого указано название объекта – UserForm.

Рис. 7.1. Две открытые формы, активна форма Act_Sheet

Элементы управления

На формах размещаются элементы управления, с помощью которых передаются и принимаются данные, высвечиваются сообщения и запросы, происходит переход от одной формы к другой, запускаются обрабатывающие процедуры. Элементы управления являются общими для всех офисных приложений.

Для размещения в диалоговом окне Userform элементов управления (Control) используется панель Toolbox, перечень элементов которой см. в таблице ниже.

Рис. 7.2. Панель элементов управления

Достаточно выбрать элемент управления щелчком мыши (для многократного размещения элемента одного типа используется двойной щелчок) и обрисовать его границы в окне формы. Каждый элемент управления подобен графическому объекту: его можно перемещать в пределах окна формы, можно менять его размеры, выравнивание, устанавливать различные свойства.

Перечень элементов управления

Кнопка

Название

Описание

Select Objects (Выбор объектов)

Выделяет или отменяет выделение объекта

Label (Надпись)

Неизменный текст. В режиме выполнения формы в элементе отображается значение свойства Caption

TextBox (Текстовое поле)

Элемент используется для ввода/вывода данных в режиме выполнения формы

ComboBox (Комбинированный список)

Подобен элементу ListBox, но дополнительно содержит поле для ввода данных (другое название элемента – поле со списком)

ListBox (Список)

Элемент допускает просмотр и выбор значений из списка значений

CheckBox (Флажок)

Элемент принимает логические значения. В одном диалоге можно установить несколько флажков в группе

OptionButton (Переключатель)

Элемент принимает логические значения. Предназначен для выбора одного из взаимоисключающих значений. Выбор одного элемента группы автоматически отключает другой элемент группы

ToggleButton (Выключатель)

Элемент принимает логические значения. Выбор одного элемента группы автоматически отключает другой элемент группы. Возможно размещение рисунка или текста на выключателе

Frame (Рамка)

Часто используется для создания группы элементов, представляющих набор альтернативных значений: CheckBox, OptionButton, ToggleButton

CommandButton (Командная кнопка)

Нажатие на командную кнопку вызывает выполнение некоторых действий, например, печать формы, вызов другой формы

TabStrip (Полоса вкладок)

Используется для ввода/вывода однотипной информации, относящейся к разным объектам

MultiPage (Набор страниц)

Помогает отображать разнородные данные, относящихся к одному объекту, на разных страницах формы (подобно диалогам Windows)

ScrollBar (Полоса прокрутки)

Устанавливает вертикальную или горизонтальную полосу прокрутки в окне формы

SpinButton (Счетчик)

Кнопка используется в числовых полях для уменьшения или увеличения значения поля (подобно изменению значения отступа при форматировании абзацев). Другие названия – ворот, веретено

Image (Изображение)

В элементе выводится неизменяемый рисунок (графическое изображение, не являющееся объектом OLE)

RefEdit (Редактирование ссылки)

Используется для свертывания диалога при выделении интервала ячеек в режиме выполнения формы (подобно свертыванию диалога при задании интервала суммирования для функции Sum)

Свойства объекта Userform и любых элементов управления изменяются в окне свойств, которое высвечивается командой Properties меню View или нажатием на пиктограмму . Свойства можно просматривать в алфавитном порядке (вкладка Alphabetic) или с группировкой по категориям (вкладка Categorized).

Значения свойств элементов управления могут быть изменены или протестированы. Установка свойств формы и ее элементов, может производиться вручную в окне свойств или программным путем в событийных процедурах формы. Часто предусматривается установка свойств перед высвечиванием формы в процедуре инициализации формы.

Методы формы и ее элементов управления могут вызываться в процедурах. Разработчик может создать событийные процедуры для элементов управления. Перечень свойств, методов и событий, ассоциированных с элементами управления, можно просмотреть через Object Browser (кнопка ).