1.2. Редактор VBA. Первое знакомство
Как и любые среды программирования, редактор VBA необходимо сначала запустить. Для запуска можно использовать два способа:
1) активизировать любое приложение пакета MS Office (Word, Excel);
2) выполнить команду меню: Сервис + Макрос + Редактор Visual Basic.
Или:
1) активизировать любое приложение пакета MS Office (Word, Excel);
2) нажать комбинацию клавиш Alt+F11.
И в том, и в другом случае откроется редактор VBA (рис. 1).
В левой части окна редактора появляется строение разрабатываемого проекта (аналог с Проводником). Необходимо обратить внимание на два главных объекта окна: Normal и Project (Операции).
Рис. 1. Стартовое окно редактора VBA
Примечание. Операции – это имя сохраненного документа в приложении Word, т. е. в скобках будет указано имя сохраненного документа.
Объект Normal глобальный, т. е. при работе в редакторе VBA в данном объекте будут создаваться модули, формы и т. д., которые будут доступны всему приложению Word. При каждом запуске Word содержимое объекта Normal становится доступным. Вывод: в данном объекте ничего не надо создавать!
Объект Project содержит рядом имя созданного документа, т. е. дается подсказка, в каком документе необходимо работать и где создаются модули, процедуры, приложения.
Пример 1. Создать программу, которая работает с глобальными переменными, рассчитывая выражение:
Результат выдается в диалоговое окно Msgbox.
Технология выполнения
1. Активизируйте приложение Word, создайте (сохраните) новый документ под именем Операции.
2. Выйдите в редактор VBA (Alt+F11).
3. Правой кнопкой мыши выделите Project(Document), где Document – название созданного документа, например Операции, и выберите команду Insert + Module (рис. 2). Если же имеется папка Modules, то добавьте в нее (рис. 6).
Рис. 2. Добавление нового модуля в папку Project
4. Дважды щелкните по классу Module1 (рис. 3). В результате в правой части редактора VBA активизируется модуль (появится курсор), в котором можно прописывать все создаваемые программы, причем при вводе заготовки создаваемого модуля (слово Sub) и его имени (list1 – от листинг, можно вписать любое имя) появляется окончание данного модуля End Sub.
Рис. 3. Создание модуля List1
При объявлении глобальных переменных (согласно условию задачи) необходимо поставить курсор перед словом Sub, нажать Enter и вписать необходимые переменные, обращая внимание на раскрывающийся список (рис. 4).
Рис. 4. Создание переменных 4. Напишите следующую программу.
Dim a As Double
Dim b, c, d As Double
Dim k As String
Const Pi As Double = 3.14
Sub list1()
a = 5
b = 25.6
c = Sin(a ^ 2) + Cos(b) + Pi
d = Sqr(c)
MsgBox (d)
End Sub
5. Запустите программу на выполнение, предварительно ее откомпилировав (проверив синтаксические ошибки). Для компиляции проекта выполните команду меню: Debug + Compile Project. Если ошибок нет, запустите приложение при помощи кнопки
Запуск панели инструментов или клавиши F5. Если все действия выполнены верно, то на экране появится диалоговое окно Msgbox с итоговым сообщением (рис. 5).
Рис. 5. Итоговый результат расчетов примера 1
Пример 2. Создать программу, которая производит сложение строковых переменных и результат выводит в диалоговое окно msgbox.
Технология выполнения
1. В том же документе Операции выделите правой кнопкой мыши папку Modules и выполните команду: Insert + Module (рис. 6).
Рис. 6. Добавление нового модуля
2. В результате появится новый модуль, где можно создать новую программу (модуль). Пропишите следующий код.
Dim a, b, c As String
Sub list2()
a = «Привет!»
b = « Пока не сложно?»
c = a + b
MsgBox (c)
End Sub
В данном примере переменным a и b присваиваются строковые значения (в кавычках!), после чего происходит сложение строк. Результат показан на рис. 7.
Рис. 7. Результат примера 2
3. Прокомпилируйте программу и запустите ее на выполнение.
Примечание. Если в одном документе находятся несколько модулей, то при запуске программ может появляться диалоговое окно выбора макроса (модуля), в котором необходимо выбрать макрос, выделить его и нажать кнопку «Run» (рис. 8).
Рис. 8. Выбор макроса на выполнение
1.3. Изменение порядка выполнения операторов
Выражение – это значение или группа значений, выражающая отдельное значение. Каждое выражение вычисляется до отдельного значения. Выражения состоят из одной или более следующих частей:
• константы (литеральные или именованные);
• переменные (любого типа данных);
• операторы;
• массивы;
• элементы массива;
• функции.
Операторы – используются для объединения, сравнения или других действий над определенными значениями в выражении. При использовании оператора в выражении элементы данных, над которыми этот оператор выполняет действие, называются операндами: большинству операторов требуются два операнда.
Выражение используется для выполнения вычислений и сравнения значений, для предоставления переменных в качестве аргументов различным функциям и процедурам VBA. Используются следующие типы выражений:
• выражение типа даты – вычисляется до значения типа date;
• численное выражение – вычисляется до любого числа;
• строковое выражение – имеет результатом значение типа string;
• логическое выражение – вычисляется до значения типа boolean.
Очень важно контролировать и знать тип выражения, потому что если выражения содержат несовместимые типы, VBA выдает ошибку времени исполнения – ошибку несовпадения типов (type-mismatch). При обработке выражения, содержащего различные типы данных, VBA сначала пытается устранить любое различие типов, преобразуя значения в выражении в совместимые типы данных. Если устранить какие-либо различия преобразованием типов не удается, отображается ошибка времени исполнения и процедура прекращает выполняться.
Рассмотрим основные арифметические операторы, используемые в VBA (табл. 3).
Таблица 3
Рассмотрим данные операторы более подробно.
Сложение
Оператор сложения (+) выполняет простое сложение. Оба операнда должны быть численными выражениями или строками, которые VBA может преобразовать в число. Оператор сложения можно также использовать для выполнения арифметических операций с данными типа Date.