Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методика по Информатике / VBA / Усольцева Л.А.- Программир.на VBA.doc
Скачиваний:
110
Добавлен:
10.04.2015
Размер:
1.71 Mб
Скачать

2.7.2. Формы пользователя

VBA позволяет создавать и применять пользовательские («настраиваемые») диалоговые окна в написанных программах и процедурах при помощи добавления в проект объекта UserForm. Используя VBA-формы пользователя, можно создавать диалоговые окна для вывода данных или получения значений от пользователя вашей программы именно в том виде, который требуется.

Объект UserFormэто пустое диалоговое окно, настройку которого можно выполнить добавлением элементов управления.

Первый шаг в создании пользовательского диалогового окна состоит в добавлении к проекту новой формы (объекта UserForm). Форма содержит рабочую область, в которую вы можете поместить элементы, необходимые для выполнения некоторого диалога пользователя с приложением.

Для добавления к проекту новой формы используйте команды:

Сервис – Макрос – Редактор VBInsertUserForm (Вставка – Форма).

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

Обратите внимание на сетку из точек на поверхности формы и панель элементов управления (Toolbox). Сетка помогает выравнивать и контролировать размеры элементов управления, помещаемых на форму, и появляется только в режиме разработки. Панель элементов является «палитрой», с помощью которой можно выбирать элементы упрале6ния и добавлять их к форме.

Объект UserForm, также как стандартный модуль, можно переименовать. Для этого надо отредактировать в Properties Window (окно свойств) свойство Name этого объекта. Для отображения формы диалогового окна используется метод Show, который имеет следующий синтаксис:

ForName.Show

где ForName может быть любым объектом UserForm текущего проекта. Для запуска формы на выполнение используйте команду RunRun Sub/UserForm.

Рис. 13. Новая форма в режиме разработки.

Для взаимодействия с программой необходимо использовать элементы управления (controls). Каждый элемент – это объект с определенными свойствами, методами и событиями. Как и для формы, их содержащей, можно устанавливать свойства элементов управления программным путем или посредством Properties Window редактора VB.

Панель Toolbox отображает кнопки, которые активизируют различные инструменты, позволяющие помещать на форму элементы управления. Данную панель можно настраивать самостоятельно. Рассмотрим стандартную панель элементов упрвления на рисунке 14.

2

4

6

8

10

12

14

16

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

1- Select Objects (выбор объектов), 2 – Label (надпись), 3 – TextBox (поле), 4 – ComboBox (поле со списком), 5 – ListBox (список), 6 – CheckBox (флажок), 7 – OptionButton (переключатель), 8 – ToggleButton (выключатель), 9 – Frame (рамка), 10 – CommandButton (кнопка), 11 – TabStrip (набор вкладок), 12 – MultiPage (набор страниц), 13 – ScrollBar (полоса прокрутки), 14 – SpinButton (счетчик), 15 – Image (рисунок), 16 – RefEdit (редактирование ячейки).

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

Редактирование элементов управления на форме осуществляется аналогично редактированию текста, то есть имеется возможность изменять размеры элемента, перемещать, копировать, удалять, форматировать (изменять размер, стиль, гарнитуру шрифта) или изменять его свойства (имя, заголовок и т.д.).

Все элементы должны иметь уникальные имена. VBA присваивает добавленному элементу имя по умолчанию, состоящее из имени типа элемента и номера. Чтобы отредактировать текст заголовка элемента, надо изменить свойство Caption в Properties Window. Чтобы пометить элементы, неимеющие встроенной надписи или заголовка, используйте элемент Label.

При размещении нескольких элементов, которые условно можно разделить на отдельные группы, следует использовать элемент frame (рамка).

Рассмотрим некоторые элементы формы на рисунке 15. Например, созданная форма для электронного журнала, которая представляет информацию по 113 учебной группе на определенный момент времени. В ней использованы элементы: Label (надпись) – «Выдать справочную информацию», OptionButton (переключатель) – «о курсантах, получивших оценку «2», «3», «4», «5»», «о курсантах с определенной фамилией», MultiPage (набор страниц) – «Качество», «Успеваемость», CommandButton (кнопка) – «Отчет», «Выход».

Рис. 15. Готовая форма

Для формы изменено свойство Caption в Properties Window с UserForm1 на Отчет по 113 группе.

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

Контрольные вопросы:

  1. Перечислить типы данных и дать их описание.

  2. Охарактеризовать операторы описания данных.

  3. Охарактеризовать операторы ввода, вывода данных.

  4. Что называется линейным процессом ?

  5. Что называется разветвляющимся процессом ?

  6. Охарактеризовать операторы разветвления:

      1. оператор условной передачи управления;

      2. оператор выбора.

  7. Что называется табулированием функции ?

  8. Охарактеризовать операторы задания цикла.

  9. Условия формирования двумерного массива.

  10. Охарактеризуйте пользовательский тип данных.

  11. Что называется формой пользователя ?

  12. Какие возможности и назначение имеет панель Toolbox ?