[VBA] Как записать макрос в Word 2003/2007/2010

Dragokas

Angry & Scary Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
7,814
Реакции
6,593
Если у Вас возник вопрос «Как использовать макрорекордер для записи макроса в Word?» то эта статья для Вашего внимания. Здесь как раз поочередно рассматривается процесс запуска макрорекордера и записи макросов в различных версиях Word. Для лучшего понимания того, что будет происходить, определим задачу - записать макрос, который будет выделять весь текст документа.

Microsoft Word 2003
Запускаем приложение, открываем в нем текстовый файл, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»

1.jpg


Выбираем пункт меню «Начать запись» и в появившемся окне "Запись макроса", выбираем имя будущему макросу (я оставлю то имя, которое ему присвоено по умолчанию «Макрос1») и место его хранения. Местом хранения может быть сам файл документа, а может быть глобальный шаблон Normal.dot, аналог личной книги макросов Personal.xls, которая есть в Excel. При необходимости присваиваем будущему макросу сочетание горячих клавиш, при нажатии которых будет происходить выполнение (запуск) макроса. В этом примере не будем присваивать макросу никаких сочетаний клавиш, поле с описанием оставим без изменений и местом для сохранения выберем файл Normal.dot. Идем дальше, нажимаем кнопку ОК.

2.jpg


Макрорекордер включен, началась запись всех наших действий и одновременный их перевод на язык программирования Visual Basic for Application, сокращенно VBA. В начале этой статьи мы задались целью записать макрос, выделяющий всю текстовую область, поэтому нашим действием будет выделение текста в открытом файле. Для этого можно зайти в главное меню "Правка" и выбрать там пункт "Выделить все", а можно тоже самое сделать нажатием сочетания горячих клавиш Ctrl+A. Прекращаем запись нажатием кнопки "Остановить запись", для этого переходим туда же, откуда эту запись начинали, то есть в меню Сервис/Макрос.

3.jpg


Ну вот и все! Наш макрос записан. Осталось только убедиться, что он работает и посмотреть как он выглядит (если кому интересно). Перед выполнением макроса снимем выделение с текста, или откроем новый текстовый файл, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8 (это сочетание актуально для всех приложений любых версий), выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Хочу обратить Ваше внимание на то, что с помощью этого окна можно не только запустить макрос, также можно удалить, изменить программный код и внести изменения в описание.

4.jpg


В результате выполнения макроса получаем выделенный текст документа, именно то, чего мы и хотели. В этом примере мы записали одно единственное действие, но разумеется можно записывать любые последовательности действий, какими бы большими они не были. Может возникнуть ситуация, что записанный Вами макрос не запустился, особенно высока вероятность этого во время самого первого выполнения макроса. В этом случае Вам будет необходимо изменить параметры системы безопасности.

Чтобы просмотреть записанный нами макрос в виде программного кода, нужно запустить редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11 (это сочетание тоже актуально во всех версиях всех приложений). В открывшемся окне редактора видим проект Normal и в этом проекте новый модуль Module1, в котором и сохранен программный код нашего макроса.

5.jpg




Microsoft Word 2007
В окне приложения MS Word 2007 кнопку «Начать запись…» можно отыскать сразу в нескольких местах. Во-первых, это левый нижний угол экрана, как показано на рисунке ниже

6.jpg


Во-вторых, на ленте главного меню, на вкладке "Вид"

7.jpg


и наконец в-третьих, на специальной вкладке "Разработчик", где собраны все инструменты для работы с макросами. Вкладка "Разработчик" отключена по умолчанию, поэтому для использования этой вкладки ее необходимо предварительно отобразить на ленте.

8.jpg


Во время записи кнопка "Запись макроса" изменяет свое назначение на "Остановить запись" а также становится активной кнопка "Пауза", приостанавливающая запись макроса.

9.jpg


Выполнение макроса и просмотр его программного кода осуществляется абсолютно аналогично описанию из предыдущего раздела, поэтому я не буду повторяться, а перейду к Microsoft Word 2010. Не забываем об изменении настроек системы безопасности, если вдруг записанный Вами макрос не запускается.

Microsoft Word 2010
Если Вы перешли на приложения пакета MS Office 2010 после версии 2007, то кнопки "Запись макроса" и "Остановить запись" в версии Word 2010 будут расположены в привычных уже местах. Нахождение этих кнопок идентично предыдущей версии текстового редактора - это все тот же левый нижний угол экрана и две вкладки на ленте - "Вид" и "Разработчик" (подробнее о них написано в предыдущем разделе Microsoft Word 2007).

10.jpg


Сам процесс записи, просмотра и выполнения записанного макроса также полностью повторяет предыдущую версию. После установки офисного пакета 2010, я обнаружил, что по умолчанию редактор Visual Basic отсутствует, пришлось шагнуть назад и доустановить этот недостающий компонент. Называется он "Visual Basic для приложений" и находится в отдельном компоненте пакета под названием "Общие средства Office", так что не пугайтесь, если кнопка записи при первом на нее нажатии никак не среагировала на Ваши действия. Если же запись прошла успешно, но возникла проблема при запуске макроса, то скорее всего это связано с настройками системы безопасности.

Источник.
 
Последнее редактирование:
Назад
Сверху Снизу