Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
формы.doc
Скачиваний:
6
Добавлен:
02.06.2015
Размер:
532.48 Кб
Скачать

24

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Кнопка

Название

Описание

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

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

Label (Надпись)

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

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

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

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

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

ListBox (Список)

Элемент допускает просмотр и выбор значений из списка значений. Список может содержать значения из интервала ячеек рабочего листа, значения элементов массива или может быть подготовлен методами объекта Listbox

CheckBox (Флажок)

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

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

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

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

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

Frame (Рамка)

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

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

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

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

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

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

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

ScrollBar (линейка прокрутки)

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

SpinButton (счетчик)

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

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

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

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

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

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

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

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