Разработка программы на 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.        Можно ли внутри процедуры изменять свойства элемента управления?

 

Hosted by uCoz