Введение
Создание программ производится в специальной программной компоненте – интерпретаторе. Программа в VBA называется макросом. Текст макроса начинается с оператора
Sub < имя >()
и заканчивается оператором
End Sub
Между этими операторами находятся операторы, составляющие так называемое тело макроса:
Sub < имя > ()
<оператор 1>
<оператор 2>
………………
<оператор N>
End Sub
Для краткости изложения будем использовать следующие обозначения основных операций, выполняемых мышью:
CL – поместить указатель мыши на элемент и выполнить один щелчок левой кнопкой мыши (Click Left);
CR – поместить указатель мыши на элемент и выполнить один щелчок правой кнопкой мыши (Click Right);
DC – поместить указатель мыши на элемент и выполнить двойной щелчок левой кнопкой мыши (Double Click);
DD – операция “тащить и бросать” (Drag and Drop), что означает: установить указатель мыши на элемент, нажать на левую кнопку мыши, передвинуть мышь (элемент синхронно будет передвигаться на экране) и отпустить кнопку мыши (новое положение элемента зафиксируется).
Для сокращения записи команд используется следующая форма:
Меню Þ Подменю Þ … Þ Команда
Например, если требуется выбрать команду Visual Basic из подменю Код меню Разработчик, то соответствующая запись будет выглядеть так
Разработчик Þ Код Þ Visual Basic
Интерпретатор VBA
Основные особенности
Интерпретатор можно запустить из рабочей книги. Для этого необходима вкладка (лента) Разработчик главного меню команд Excel. Для ее отображения следует: вывести на экран окно настройки главного меню команд Excel (выбрав команду Настройка ленты в окне Файл Þ Параметры или в контекстном меню для области главного меню).и в категории Настройка ленты установить флажок Разработчик в списке Основные вкладки.
Для перехода в интерпретатор следует выбрать команду
Разработчик Þ Код Þ Visual Basic
В результате, на экране появится программное окно интерпретатора VBA
Создание текстов процедур производится в специальных (модульных) листах. Для добавления модульного листа следует в левом окне Project
выбрать команду
Insert Þ Module
в контекстном меню для рабочей книги
Процедуры могут располагаться как в одном листе, так и в разных листах. Для удаления модульного листа следует в окне Project вывести для него контекстное меню и выбрать команду Remove…
Примечания.
1. Для установки уровня безопасности, разрешающего выполнение всех макросов, следует выбрать команду
Разработчик Þ Код Þ Безопасность макросов
и установить переключатель Включить все макросы в группе Параметры макросов.
2. Наличие окна модульного листа (Code) в окне интерпретатора определяется командой
View Þ Code
(можно использовать клавишу клавиатуры < F7 >), а наличие окна проектов (Project) – командой
View Þ Project Explorer
(можно использовать клавишу клавиатуры < R > при нажатой клавише <Ctrl >,
т.е. < Ctrl >+< R >).
Ввод и редактирование текста
Ввод и редактирование осуществляется под контролем специального текстового редактора, который помогает синтаксически правильно оформить программный текст. В частности, при переходе к следующей строке автоматически производится
– преобразование некоторых букв, составляющих ключевые слова, в прописные;
– установка пробелов между частями оператора;
– установка отступа от начала строки, аналогичного предыдущей строке.
В некоторых случаях текстовый редактор производит автоматическое добавление фрагментов текста. Например, начиная текст макроса, можно лишь указать sub и имя макроса. После нажатия на клавишу< Enter >, мы увидим, что редактор автоматически добавил скобки после имени макроса, пустую строку и последний оператор End Sub (оператор окончания макроса).
Во время ввода и редактирования текста программы можно использовать следующие возможности:
– операторы, указанные в одной строке, должны быть разделены знаком двоеточия. Например,
a = 20: b = 2 * a
– оператор можно продолжать в следующей строке. В этом случае в конце продолжаемой части оператора через пробел должен быть указан знак подчеркивания. Например, оператор
If a > b Then d = a Else d = b
можно записать в трех строках
If a > b _
Then d = a _
Else d = b
В процессе редактирования возможна как вставка, так и замена знаков. В первом случае текстовый указатель изображается мигающей чертой между знаками, а во втором – мигающий текстовый указатель полностью накладывается на текстовый знак. Для изменения режима “вставка/замена” следует щелкнуть по клавише < Insert > (или < Ins >).
Для удаления текстового знака, находящегося слева от текстового указателя, используется клавиша <Backspace>, а справа от него – <Delete>. Если воспользоваться ими при нажатой клавише <Ctrl>, произойдет удаление части слова соответственно слева или справа от текстового указателя.
Перемещаться в тексте можно как мышью (щелчком левой кнопкой), так и клавишами управления указателем. Для быстрого перемещения (например, через слово, через макрос) используются эти же клавиши, но при нажатой клавише <Ctrl>:
<Ctrl>+<←> – перед словом;
<Ctrl>+<→> – после слова;
<Ctrl>+<↑> – начало текущего макроса;
<Ctrl>+<↓> – начало следующего макроса;
<Ctrl>+<Home> – начало листа;
<Ctrl>+<End> – конец листа.