
- •Алгоритмизация и программирование на vba: основы программирования
- •Содержание
- •1 Цель работы. 20
- •2.2Объекты
- •2.3События
- •3Порядок выполнения работы
- •4Содержание отчёта
- •Цель работы
- •5Контрольные вопросы
- •Синтаксис:
- •Аргументы:
- •2.1.3Инструкция DefТип
- •Синтаксис:
- •Аргументы:
- •2.1.6Допустимые имена
- •Синтаксис:
- •Аргументы:
- •2.3.2Совместимость типов
- •2.4Перенос строки
- •2.5Комментарии
- •2.6Расположение операторов в одну строку
- •2.7 Операции в vba
- •2.7.1Арифметические
- •2.7.2Строковые
- •Синтаксис:
- •2.7.3Операции отношения
- •2.7.4Логические операции.
- •2.7.5Приоритеты операций
- •2.8Встроенные функции vba
- •2.8.1Математические функции
- •2.8.2Функции проверки типов
- •2.8.3Функции преобразования форматов
- •Синтаксис:
- •Аргументы:
- •2.8.4Функции обработки строк
- •2.8.5Функции времени и даты
- •2.8.6Функции, возвращающие строки
- •2.8.7Встроенные диалоговые окна
- •Синтаксис:
- •Аргументы:
- •Синтаксис:
- •Аргументы:
- •2.9Схема алгоритма
- •3Задание
- •4Содержание отчёта
- •5Контрольные вопросы
- •6Пример выполнения работы Задание:
- •Текст программы:
- •7Индивидуальные задания
2.3События
Событие представляет собой действие, распознаваемое объектом (например, щелчок кнопкой мыши, нажатие клавиши или вызов программы на VBA из меню макросов), для которого можно запрограммировать отклик. События возникают в результате действий пользователя или программы, или же они могут быть вызваны системой.
Суть программирования на VBA как раз и заключается в этих двух понятиях: событие и отклик на него. Если пользователь производит какое-то воздействие на систему, скажем, нажимает кнопку, тогда в качестве отклика выполняется код созданной пользователем процедуры. Если такой отклик не создан, т. е. не написана соответствующая процедура, то система никак не реагирует на данное событие, и оно остается безответным. Таким образом, действия, происходящие в системе, являются событиями, а отклики на них — процедурами. Этот специальный вид процедур, генерирующих отклик на события, называется процедурами обработки событий. В целом программирование на VBA состоит в создании кода программ, которые генерируют прямо или косвенно отклики на события.
3Порядок выполнения работы
З
апустите Microsoft Word.
Создайте новый документ и дайте ему имя, выбрав пункт Файл -> Сохранить как (Error: Reference source not found).
Д
ля запуска встроенного редактора VBA выберите пункты Сервис -> Макрос -> Редактор Visual Basic (Error: Reference source not found), или нажмите Alt-F11.
В редакторе Visual Basic при запуске отображается окно Менеджера проектов и окно Свойств объектов (Error: Reference source not found).
Окно менеджера проектов содержит дерево открытых в данный момент шаблонов и документов (Error: Reference source not found), и как минимум, там должны присутствовать:
ш
аблон normal.dot, открываемый при запуске word по умолчанию
открытые в данный момент документы
Окно Свойств объектов (Error: Reference source not found) содержит свойства объекта текущего выбора из окна менеджера проектов.
Для того чтобы написать программу на Visual Basic, необходимо вставить модуль в документ.
Выберите проект, содерж
ащий созданный вами документ (имя документа
содержится в скобках) (Error: Reference source not found) .
Выберите команды Insert -> Module в меню редактора Visual Basic (Error: Reference source not found), или, нажав на соответствующем проекте в менеджере проектов правой кнопкой мыши, выберете соответствующие команды в контекстном меню (Error: Reference source not found). Редактор добавит новый модуль в проект и откроет окно Редактора кода (Error: Reference source not found) созданного модуля, в котором можно написать программу.
Переименуйте новый модуль, дав ему имя HelloWorld. Для этого:
В менеджере проектов выберите новый модуль (Error: Reference source not found).
В окне Свойств измените свойство Name (Error: Reference source not found).
Напишите первую программу «Hello World»:
Перейдите в окно кода
Введите следующие строки: Sub HelloWorld () MsgBox "Hello, World!" End Sub На экране это будет выглядеть примерно так: (Error: Reference source not found):
Строка Sub HelloWorld() означает начало процедуры с именем HelloWorld, которая не использует внешних параметров.
С
трока End Sub означает окончание процедуры и появляется автоматически.
Команды, располагаемые между этими строками, составляют тело процедуры, и выполняются последовательно.
В данном случае, тело процедуры состоит из одной команды. Команда MsgBox "Hello, World!" приводит к выводу на экран окна с надписью Hello, World!.
П
осле набора MsgBox редактор VBA выведет подсказку с перечислением параметров, которые можно передавать в процедуру MsgBox (Error: Reference source not found).
Запустите программу на выполнение, выбрав пункт меню Run -> Run Sub/UserForm (Error: Reference source not found) , или нажав кнопку
на панели инструментов.
П
о команде MsgBox "Hello, World!" в программе будет выведено окно, содержащее выводимый текст (Error: Reference source not found).
Перейдите в созданный документ.
Выберите пункт меню Сервис -> Макрос -> Макросы (Error: Reference source not found)
В
списке макросов выберите HelloWorld (Error: Reference source not found) и нажмите на кнопку выполнить.
В
ыполнится написанная программа (Error: Reference source not found).
Измените вторую строку на MsgBox "Hello, World!",vbYesNo,"Окно приветствия" Выполните программу и посмотрите, что изменилось в результате.
Сохраните документ. Вместе с ним сохранится всё, что входит в проект. Чтобы сохранить модуль отдельно от документа воспользуйтесь пунктом меню File -> Export File…
Напишите программу с использованием объектной модели MS Word.
Создайте в имеющемся модуле процедуру без параметров.
Введите в тело процедуры строку: ThisDocument.PageSetup.LeftMargin = 300 (Можно воспользоваться появляющимся списком (Error: Reference source not found))
ThisDocument означает обращение к документу проекта (вы можете это видеть в окне менеджера проектов (Error: Reference source not found)).
PageSetup означает обращение к параметрам страницы текущего документа.
LeftMargin – параметр «отступ слева».
Параметру присваивается значение 300 (пунктов).
На следующей строке наберите команду ThisDocument.Activate , которая сделает документ проекта активным.
Наберите команду Selection.TypeText "Hello, world" Selection – обращение к выделенному фрагменту документа или к позиции курсора. TypeText – процедура вывода строки текста. Строка текста записывается в качестве параметра.
Запустите программу и убедитесь, что с документом проекта была выполнена запрограммированная вами последовательность действий.