Макросы – это программный алгоритм действий, записанный пользователем. Очень часто говоря о макросах употребляют такие термины как макрокоманда и макроопределение. Все это одно и тоже.
Если у вас есть хотя бы небольшой опыт работы с компьютерными приложениями любой из операционных систем, то для вас не секрет, что при решении многих задач очень часто приходится выполнять одну и ту же последовательность операций. Однако в Microsoft Office вместо многократного повторения одной и той же последовательности действий вы можете записать макрос (Macro), который будет автоматически выполнять требуемую последовательность действий вместо вас.
Таким образом, макросы представляют собой средство, с помощью которого можно описать произвольную последовательность действий пользователя для её последующего многократного выполнения. Для многих VBA-приложений – среди них Microsoft Word, Excel, Assess, Power Point и так далее – макросы можно создавать с помощью как языка Visual Basic for Application, так и специальных функций Microsoft Office, используемых для интерактивной записи макросов. Эти функции позволяют записывать все выполняемые пользователем действия в процессе его работы с приложением – до тех пор, пока запись не будет остановлена. После остановки записанная последовательность действий сохраняется в виде поименованного макроса. Таким образом, вы сможете пользоваться им каждый раз, когда потребуется повторить выполнение записанной в нём последовательности операций.
Следует заметить, что независимо от того, работаете ли вы в Word, Excel, Assess, или Power Point, создание нового макроса осуществляется одним и тем же способом, с помощью макрорекордера.
Макрорекордер – это средство для автоматического создания VBA-программ, которые называют макросами.
Макросы в Microsoft Office
Начиная с версии MS Office 2007 в интерфейс приложений внесены существенные изменения. Так в версиях MS Office 2007, 2010, или 2016 появилось такое понятие как «лента». Она заменила собой меню, панель задач и панели инструментов, которые использовались для работы в приложениях пакета MS Offiice 2003.
Рисунок. Лента приложения Microsoft Word 2016 с открытой вкладкой Вид, на которой в группе Макросы выбрана команда меню Запись макроса
Эта «лента» была разработана для упрощения доступа к функциональным возможностям приложений. Лента объединяет несколько вкладок, каждая из которых состоит из нескольких групп элементов управления, близких по значению. Вкладки ориентированы на выполнение задач, группы на каждой вкладке разбивают задачу на её составляющие, а кнопки команд, списки, меню и другие элементы управления в каждой группе служат для выполнения отдельных команд (более подробно об этом мы поговорим в следующих уроках).
Следует отметить, что диалоговое окно «Запись макроса» в разных приложениях MS Office (Word, Excel, или Power Point) выглядит несколько по-разному, но правила записи нового макроса для всех приложений одинаковы.
Правила записи макроса:
- Имя макроса должно начинаться с буквы, хотя внутри имени могут быть и цифры, и символ подчёркивания.
- Имя макроса не может включать пробелы, или знаки препинания (специальные символы).
- Максимальная длина имени макроса составляет 80 символов.
Если вы хотите назвать макрос именем, состоящим из нескольких слов то сделать это можно двумя способами:
- либо написав слова с символом нижнего подчёркивания (Пример: Мой_первый_макрос);
- либо написав всё слитно, но каждое слово с большой буквы, чтобы было удобнее читать и понимать, что это за макрос (Пример: МойПервыйМакрос).
В зависимости от приложения, в котором создаётся макрос (редактор Visual Basic, Word, Excel), диалоговое окно «Запись макроса» может содержать различные поля и опции – например, поле описания макроса, поле для указания места хранения текста макроса, назначаемую макросу комбинацию клавиш для его вызова и т.д.
Например, в диалоговом окне «Запись макроса» приложения Excel 2016 присутствует поле «Сочетание клавиш», в котором можно указать желаемую комбинацию клавиш, которая будет использоваться для быстрого вызова данного макроса (комбинация клавиш <Ctrl+клавиша>). Это пригодится вам в том случае, если вы собираетесь часто использовать записываемый макрос.
Рисунок. Диалоговое окно «Запись макроса» в Microsoft Excel 2016
В приложении Word в диалоговом окне «Запись макроса», в отличие от Excel, в группе «Назначить макрос» имеются ещё две кнопки: кнопке (button) и клавишам (keyboard). Эти кнопки позволяют либо присвоить функцию вызова макроса новой кнопке на панели инструментов, либо назначить для него некоторую комбинацию клавиш быстрого вызова. После щелчка на любой из этих кнопок раскроется ещё одно диалоговое окно, в котором необходимо будет сделать соответствующие назначения.
Рисунок. Диалоговое окно «Запись макроса» в Microsoft Word 2016
Следует отметить, что для всех приложений MS Office в диалоговом окне «Запись макроса» есть и некоторые общие элементы:
- Поле «Имя макроса» – здесь указывается имя записываемого нового макроса. По умолчанию VBA помещает в это поле значение Макрос1.
- Поле «Описание» – в него записывается произвольный текст, то есть комментарий о том, для чего предназначен данный макрос. По умолчанию VBA заполняет это окно информацией о том, где и кем был создан данный макрос (дата записи макроса и имя пользователя).
- Список «Макрос доступен для», или «Сохранить в» – содержит перечень тех документов, в которые создаваемый макрос может быть сохранен. В Word макросы можно сохранять только в файлы документа формата .docm, или в файлы шаблонов документов .dotm. Кроме того, макрос можно сохранить в шаблоне формата Word 97-2003 (.doc или .dot). В Excel макросы могут быть сохранены в рабочей книге формата .xlsm или .xlsb, в шаблоне формата .xltm, а также в документах формата Excel 97-2003 (.xls).
Прямым указанием о начале записи макроса во всех приложениях является щелчок на кнопке ОК в диалоговом окне «Запись макроса». Если вы записываете макрос в приложении Word, то после того как вы нажмёте ОК в окне приложения появится указатель мыши с небольшим изображением магнитофонной кассеты. С этого момента и пока вы не нажмете «Остановить запись» все ваши действия будут записаны и помещены в макрос. То есть все ваши действия сохранятся в виде VBA-программы, записанной как макрос с заданным именем в указанном документе.
Кроме того, в Word запись макроса можно временно приостановить, нажав на команду меню «Пауза» и возобновить, если кликнуть по этой команде повторно «Возобновить запись».
На этом теорию думаю можно заканчивать. Переходим к практике, и в следующем уроке мы с вами создадим свои первые макросы в самых популярных офисных приложениях – Word и Excel