Разработка программы на Visual Basic for Application
Внедрение
программных кодов в книгу Excel существенно упрощает
работу внешнего пользователя, благодаря простому интерфейсу и автоматизации,
выполняемых действий с данными. В рассматриваемом примере постараемся показать,
каким образом можно создать интерфейс пользователя из нескольких элементов
управления ActiveX, как подготовить программу на VBA.
Предположим, что список сотрудников организации слишком большой, а потребителю
требуется просматривать этот список, добавлять или удалять записи. Следует
отметить, что при копировании списка с помощью макроса, выделяется диапазон
данных (ячейки, в которых находятся данные), поэтому если список расширить или
сократить, то в макросе придётся проводить изменения диапазона вручную. Поэтому
для копирования списка неопределенной длины следует составить программу. В
основе такой программы закладывается циклический алгоритм просмотра данных,
если встречается ячейка с отсутствием данных, то это будет признаком конца списка.
Кроме того пользователь должен получить сообщение о количестве просмотренных
записей в списке. Понятно, что список лучше всего просматривать в отдельном
окне, которое можно очищать после окончания работы.
Для
разработки приложения на VBA воспользуемся книгой Excel,
в которой создадим списки сотрудников предприятия. Допустим, создали три
столбца: Фамилия; Должность; Год рождения. Последовательность разработки
интерфейса пользователя на базе элементов управления ActiveX состоит из выполнения
следующих шагов:
·
Открыть
панель инструментов Visual Basic
(элементы управления ActiveX).
·
Расположить
на листе Excel элементы управления: Элемент Поле со списком;
Элемент Поле; два элемента – Кнопка (рис. 1).

Рис. 1.
·
Последовательно
выделить каждый элемент управления, и задать необходимые свойства, например,
можно задать: цвет, шрифт; фиксированный размер объекта; видимость и
доступность к объекту; цвет фона и т.п.
·
Задать
имена (Name) элементам управления в окне свойств. В рассматриваемом
примере, кнопке с текстом «СОЗДАТЬ СПИСОК» присвоено имя – CB1,
кнопке с текстом «ОЧИСТИТЬ СПИСОК» присвоено имя – CB2, элементу Поле со
списком присвоено имя – LB1, элементу Поле
присвоено имя – TB1.
·
Открыть
окно кодов для отладки программ, записать в него программу для обработки двух
событий. Первое событие вызывает пользователь при нажатии на кнопку с именем CB1
(СОЗДАТЬ СПИСОК). Второе событие, которое вызывает пользователь, относится к
кнопке с именем CB2 (ОЧИСТИТЬ СПИСОК). На рис. 2 показано
окно с готовыми программными кодами для создаваемых событий пользователем.

Рис. 2.
·
После
создания программных кодов, отжать кнопку
на панели инструментов, и приступить к
тестированию примера. По этой гиперссылке, можно посмотреть
пример, внешний вид листа Excel с размещёнными на нем
элементами управления представлен на рис. 3.
Задание. Создайте на листе дополнительные элементы
управления в виде списков, которые будут отображать должности и год рождения
сотрудников после тог, как будет осуществлен щелчок мыши в окне по фамилии
сотрудника.

Рис. 3.
Вопросы для самоконтроля
1.
Раскройте
понятие – обработка события.
2.
Чем
отличаются технологии разработки программных кодов для обработки событий,
осуществляемых пользователем, при работе с элементами управления, имеются в
виду технология создания макроса и технология подготовки программы на языке VBA?
3.
Какими
операторами оформляется начало работы процедуры обработки события и выход из
процедуры?
4.
Можно
ли внутри процедуры изменять свойства элемента управления?