logo
Информатика

2.3.7. Основы офисного программирования vba Визуальный язык программирования Бейсик для приложений: Visual Basic for Applications (vba)

VBA – это подмножество визуального языка программирования Visual Basic (VB), которое включает почти все средства создания приложений VB. VBA отличается от языка программирования VB тем, что система VBA предназначена для непосредственной работы с объектами Office, в ней нельзя создавать проект независимо от приложений Office. Таким образом, в VBA языком программирования является VB, а инструментальная среда программирования реализована в виде редактора VB, который может активизироваться из любого приложения MS Office. Например, для того, чтобы открыть редактор VBA из  приложения PowerPoint необходимо выполнить команду Сервис / Макрос / Редактор VB. Вернуться из редактора в приложение можно, выбрав команде Microsoft PowerPoint в меню Вид или комбинацией клавиш Alt + F11. С помощью встроенного в редактор VB набора элементов управления и редактора форм пользователь может создать пользовательский интерфейс для разрабатываемого проекта с экранной формой. Элементы управления являются объектами, а для каждого объекта определен ряд возможных событий (например, щелчок или двойной щелчок мыши, нажатие клавиши, перетаскивание объекта и т.д.). Каждое событие проявляется в определенных действиях программы (откликах, реакции). Пользовательская форма позволяет создавать окна диалога приложений. Язык программирования VBA служит для написания кода программы, например для создания функций пользователя в Excel. Тот факт, что система VBA предназначена для работы с объектами Office, позволяет эффективно ее применять для автоматизации деятельности, связанной с разработкой различных типов документов. Рассмотрим алгоритм создания функций пользователя: 1. Вызвать окно редактора кода VBA, выполнив команду Сервис / Макрос / Редактор Visual Basic или нажать Alt+F11. 2. Выполнить команду меню редактора Insert / Module (Вставка / Модуля). 3. Далее выполнить команду Insert / Procedure (Вставка /Процедура). В открывшемся диалогом окне Add Procedure ввести имя функции (например, СУММА5) и установить переключатели: Type (тип) – в положение Function (функция); Scope (Область определения) - в положение Public (Общая) и щелкнуть ОК.

4. В окне редактирования появится заготовка функции: заголовок - Public Function СУММА5() и окончание - End Function, между которыми надо поместить код тела функции.

5. Далее вводим список параметров функции, например, в скобках указываем (x, y, z, i, j), тип данных (для точных расчетов) и тип возвращаемого функцией значения (в данном примере не будем вводить). Кроме того, вводим тело функции, например, СУММА5 = x + y + z + i + j. В итоге получим следующий текст программы: Public Function СУММА5(x, y, z, i, j) СУММА5 = x + y + z + i + j End Function 6. Возвращаемся в окно приложения Excel, в котором, например,  нам необходимо выполнить суммирование пяти значений. 7. Выполняем "Вставка / Функция" и в открывшемся окне мастера функций выбираем категорию «Определенные пользователем», а в окне «Выберите функцию» выделяем СУММА5 и щелкаем ОК.

8. Далее выбираем ячейки со значениями и щелкаем ОК. Получаем следующий результат.