Понятие макроса

Лабораторная работа 12

Создание макросов в MS Excel

Цель работы: выработать навык создания простых макросов (макрокоманд) для автоматизации рутинной и повторяющейся работы на примере приложения пакета MS Office электронной таблицы MS Excel.

Методика выполнения лабораторной работы

Лабораторная работа посвящена вопросам, связанным с автоматическим созданием и применением программных модулей (макросов) при работе с MS Excel на языке программирования Visual Basic for Applications, или сокращенно VBA.

Понятие макроса

Макрос — это программа, состоящая из списка команд, которые должны быть выполнены приложением. Макрос служит для объ­единения нескольких различных действий в одну процедуру, ко­торую можно вызвать. Такой список команд состоит, в основ­ном, из макрооператоров, тесно связанных с командами прило­жений из MS Office. Большая часть макрооператоров соответствует командам меню или параметрам, которые задаются в диалоговых окнах.

Выделяются три основные разновидности макросов:

· командные — наиболее распространенные макросы, которые обычно состоят из операторов, эквивалентных тем или иным командам меню или параметрам диалоговых окон. Основным предназначением таких макросов является выполнение дейст­вий, аналогичных командам меню — т. е. изменение окруже­ния и основных объектов приложения. Например, изменение рабочего листа или рабочего пространства MS Excel, сохране­ние или вывод на печать и т. п. Таким образом, в результате выполнения макроса вносятся изменения либо в обрабатывае­мый документ, либо в общую среду приложения;

· пользовательские функции — работают аналогично встро­енным функциям MS Excel. Отличие этих функций от команд­ных макросов состоит в том, что они используют значения пе­редаваемых им аргументов, производят некоторые вычисле­ния и возвращают результат в точку вызова, но не изменяют среды приложения;

· макрофункции— представляют собой сочетание командных макросов и пользовательских функций. Наряду с тем, что они подобно пользовательским функциям, могут использовать аргументы и возвращать результат, макрофункции, как и ко­мандные макросы, способны еще и изменять среду приложе­ния. Чаще всего макрофункции вызываются из других макро­сов и активно используются для модульного программирова­ния. Если необходимо в различных макросах выполнить ряд одинаковых действий, то эти действия обычно выделяются в отдельную макрофункцию (подпрограмму), которая вызыва­ется каждый раз, когда необходимо выполнить эти повторяю­щиеся действия.