Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика-08.doc
Скачиваний:
52
Добавлен:
06.12.2018
Размер:
2.22 Mб
Скачать

10.2. Создание интерфейса пользователя

Рассмотрим создание интерфейса пользователя на простом примере. Пусть на листе Excel размещены столбцы чисел. Требуется, чтобы проектируемое приложение позволяло пользователю выбрать столбец для сортировки, выбрать вариант сортировки (по возрастанию или по убыванию) и, наконец, выполнить саму сортировку. Из поставленной задачи следует, что наше приложение надо “оснастить” элементами управления (см. подраздел 2.2) для выбора номера столбца (поле во взаимосвязи со счетчиком), варианта сортировки (переключатели) и для запуска событийной процедуры сортировки (командная кнопка). С помощью VBA эти элементы управления можно разместить или прямо на листе Excel (рис. 10.1), или же на диалоговой форме, которая будет появляться в диалоговом окне (поверх листа Excel) при нажатии на кнопку Сортировать – кнопку целесообразно оставить на листе Excel и в этом случае. Рассмотрим первый вариант.

С помощью пункта меню Вид/Панели инструментов/Visual Basic разместим панель инструментов VBA рядом с другими панелями инструментов Excel (см. рис.10.1). На этой панели нас будут интересовать два значка: Элементы управления (значок в виде молоточков) и Редактор Visual Basic (соседний слева). Второй значок нам понадобится позже, во время разработки процедур, для переключения на окно редактора. А нажатие на кнопку с первым значком приведет к появлению в пределах листа Excel окна, содержащего палитру элементов управления (на рис. 10.1 – справа) и три кнопки: Режим конструктора, Свойства и Исходный текст.

Первая из этих кнопок позволяет перейти в режим конструктора. В этом режиме работа пользователя с таблицей Excel блокируется, но есть возможность создавать приложение VBA. Вторая кнопка позволяет открыть окно Свойства – оно показано на рисунке для счетчика, имеющего имя SpinButton1 (он выделен щелчком мыши). Третья кнопка позволяет переключиться в окно редактора, причем именно на процедуру обработки события, связанного с выделенным элементом управления – на рис.10.2 это событийная процедура, срабатывающая в тот момент, когда пользователь изменяет значение счетчика.

Итак, теперь на листе Excel имеется весь необходимый инструментарий для создания интерфейса приложения. Само создание интерфейса сводится к выбору элемента управления из палитры (на рис. 10.1 – справа), к размещению этого элемента с помощью мыши на листе Excel, к установке свойств элемента и к написанию событийной процедуры, если она требуется для данного элемента управления. В интерфейс нашего приложения включены следующие элементы управления:

  • Надпись со статическим текстом, для которой установлено свойство Caption (Заголовок) – Номер столбца;

  • поле, для которого установлено свойство Value (Значение) – 1; если пользователь не изменит это значение, то сортироваться будет первый столбец;

  • счетчик; для него установлены свойства Min=1, Max=100, Value=1;

  • переключатели, для которых установлены свойства Caption и Value; у одного из переключателей заголовок - По возрастанию, а у второго – По убыванию; у одного свойство Value=True (истина – истинным считается утверждение о выборе этого переключателя), у второго Value=False (ложь);

  • командная кнопка; для нее установлено свойство Caption=Сортировать.

Каждому элементу управления VBA присваивает имя по умолчанию. Например, первому переключателю – OptionButton1, второму – OptionButton2, счетчику – SpinButton1, т.е. берется английское название элемента, и к нему присоединяется порядковый номер. Имя можно изменить, как всякое свойство объекта. Например, переключатели можно назвать короче: Option1, Option2. Имена элементов управления участвуют в образовании имен событийных процедур. Так, при двойном щелчке мышью по элементу SpinButton1 произойдет переключение на окно Visual Basic (Рис. 10.2), в котором автоматически появится пустая событийная процедура:

Private Sub SpinButton1_Change( )

End Sub

Правила записи процедур мы рассмотрим в следующих подразделах. Сейчас важно понять, что процедура SpinButton1_Change будет автоматически выполняться, как только пользователь изменит значение счетчика (Change – изменять).

Панель инструментов