Элементы редактора VBA

а) Проект VBA

Проект – это часть приложения, видимая на экране при его создании и позволяющая управлять его элементами.

Открывается окно проекта командой View-Project Explorer. В окне Project отображаются список проектов открытых рабочих книг и структура каждого проекта.

Проект VBA имеет иерархическую структуру и включает в себя:

1) Объекты Excel – это рабочие книги (WorkBooks), рабочие листы (WorkSheets) и диаграммы (Charts). С каждым объектом связан модуль, в котором может быть помещен программный код;

2) В разделе форм (Forms) сохраняются пользовательские формы и модули форм, содержащие коды обработки событий формы и ее элементов управления;

3) Модули (Modules) содержат макросы, пользовательские процедуры и функции;

4) Модули класса (Class Modules) – здесь размещается программный код класса

Весь проект представляет собой один файл – рабочую книгу и сохраняется вместе с ней.

б) Окно редактирования кода

Код программы помещается в модуле.

Добавление модуля осуществляется двумя способами:

1) Вставка-Модуль (Insert-Module)

2) При создании макроса, когда программа создается автоматически.

 

Окно программного кода предназначено для ввода, просмотра и редактирования процедур и функций модуля. В данном окне можно просмотреть код отдельной процедуры или код всего модуля. Выбрать режим просмотра можно нажав одну из двух кнопок в левом нижнем углу окна редактирования кода.

В верхней части окна редактирования кода размещены два раскрывающихся списка. Левый содержит имена объектов, а правый перечень событий для выбранного в левом списке объекта.

Для открытия окна используется команда Вид-Программа (View-Code) или двойной щелчок по имени модуля.

Редактор кода позволяет автоматизировать написание программных операторов, свойств и параметров.

в) Окно редактирования формы

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

Редактор форм является основным инструментом визуального программирования. Чтобы добавить форму в проект надо выполнить команду меню Insert-UserForm. Появится окно редактирования форм и панель элементов, а также окно свойств Properties UserForm. Окно свойств можно открыть командой меню Вид-Окно свойств (View-Properties Windows). Панель элементов можно открыть командой View-ToolBox или щелкнуть по кнопке панели инструментов ToolBox.

В окне Properties имеется раскрывающийся список объектов формы и две вкладки (По алфавиту и По категориям) со списком свойств и их значений для выбранного объекта. Чтобы изменить значение свойства надо выделить свойство в левой колонке и изменить его значение в правой колонке.

 

г) Окно просмотра Object Browser

Ввод команд автоматизирован. При наборе команды или свойства VBA предлагает список компонентов для завершения программной строки. Список существующих компонентов и объектов можно увидеть в окне просмотра, которое открывается командой меню View-Object Browser.


4. Структура программы VBA

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

Программный код VBA

Программный код VBA представляет собой последовательность лексических единиц (лексем), записанных в соответствии с принятыми синтаксическими правилами. Под лексемой понимается единица текста программы, которая имеет определенный смысл для VBA и не может быть разбита в дальнейшем. В VBA имеется 6 классов лексем:

1) идентификаторы (имена переменных, процедур и др.) - должны начинаться с буквы и не должны содержать пробелов, знаков пунктуации, знаков операций, специальных символов, зарезервированных слов;

2) зарезервированные слова (As, Public, Date и др.) – выводятся синим цветом;

3) константы - это объекты, значения которых остаются постоянными и не могут быть изменены во время выполнения программы;

4) строки (строковые константы);

5) знаки операций (+,-, /, >, = и т.д.);

6) разделители (знаки пунктуации).

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

Каждая команда программного кода записывается в отдельной строке по определенному правилу. В VBA команду принято называть оператором, правило записи команды синтаксисом или форматом. Если в командной строке нарушен синтаксис или сама команда не верна, она выделяется красным цветом. Оператор может состоять из единственного ключевого слова или комбинации элементов, может включать выражения.

Выражения – это комбинация знаков операций и операндов, также скобки. Назначение любого выражения – получение некоторого значения. Для формирования и последующего вычисления выражения служат операции. Операнды в выражении связаны знаками операции (A=B*C-D).

Различают:

1) операции присваивания (ИмяПеременной=Выражение, например, Nstr=3),

2) математические операции (сложение (+), вычитание (-), умножение (*), деление (/), целочисленное деление ()),

3) операции отношения (равно, не равно, больше, меньше и др.),

4) логические операции (используются операторы AND (И), OR (ИЛИ), NOT(отрицание), XOR (отрицание отрицания),

5) операции работы со строками (конкатенация - & - объединение)

Для переноса части команды на другую строку в конце первой необходимо поставить символ подчеркивания ( _ ).

 

А) Процедуры

Процедура – это последовательность команд или операторов, которые выполняются над объектами. Процедура, в отличие от функции, значение не возвращает.

Различают следующие типы процедур:

· Процедуры обработки событий;

· Процедуры макросов;

· Процедуры пользователя

1. Процедуры обработки событий связаны с каким-либо объектом и вызываются тогда, когда происходит соответствующее событие. Они имеют синтаксис:

Private Sub ИмяОбъекта_Событие()

<Код обработки события>