Макрос - это именованная последовательность команд (операторов языка VBA), которую пользователь может записать и затем вызывать для исполнения.
VBA (Visual Basic for Applications) - объектно-ориентированный язык программирования, специально разработанный для записи макросов в приложениях.
Макрос состоит в основном из макрокоманд, тесно связанных с командами приложения, в котором он создается, т.е. с командами MS Word, MS Excel или других приложений Microsoft Office. Макрокоманда -последовательность команд, выделяемая в виде небольшой программы.
Некоторые из макрокоманд выполняют специфические для макросов действия, но большая часть соответствует командам меню или параметрам, задаваемым в диалоговых окнах.
Например, макрокоманда ActiveDocument.Save в MS Word или АсtiveWorkbook.Save в MS Excel работает в точности как команда меню Файл - Сохранить.
Макросы часто используются для следующих целей:
для ускорения часто выполняемых операций редактирования или форматирования;
• для объединения нескольких команд (например, для вставки таблицы с указанными размерами и определенным числом строк и столбцов);
• для упрощения доступа к параметрам в диалоговых окнах;
• для автоматизации обработки сложных последовательных действий в задачах.
Существует три основных разновидности макросов:
командные макросы;
• пользовательские функции;
• макрофункции.
Командные макросы - это наиболее распространенные макросы, обычно состоящие из операторов, эквивалентных тем или иным командам меню или параметрам диалоговых окон.
Например:
• вставка или форматирование фрагмента текста в MS Word;
• изменение рабочего листа или рабочего пространства в MS Excel;
• сохранение или вывод на печать и т. п.
n Пользовательские функции работают аналогично встроенным функциям MS Excel.
n Отличие этих функций от командных макросов состоит в том, что они используют значения передаваемых им аргументов, производят некоторые вычисления и возвращают результат в точку вызова, но не изменяют среды приложения.
Макрофункции представляют собой сочетание командных макросов и пользовательских функций. Они могут использовать аргументы и возвращать результат, подобно пользовательским функциям, могут также изменять среду приложения, как и командные макросы.
Если необходимо выполнить ряд одинаковых действий в различных макросах, то обычно эти действия выделяются в отдельную макрофункцию (подпрограмму), которая вызывается всякий раз, когда необходимо выполнить эти повторяющиеся действия.