Поделиться через


Автоматические макросы

Присвоив макросу специальное имя, его можно запустить автоматически при выполнении такой операции, как запуск Word или открытие документа. Word распознает следующие имена как автоматические макросы или "автоматические" макросы.

Имя макроса При выполнении
Autoexec При запуске Word или загрузке глобального шаблона
AutoNew Каждый раз при создании нового документа
Автооткрытие Каждый раз при открытии существующего документа
Автозапуск При каждом закрытии документа
AutoExit При выходе из Word или выгрузке глобального шаблона

Автоматические макросы в модулях кода распознаются, если выполняется одно из следующих условий.

  • Модуль называется в честь автоматического макроса (например, AutoExec) и содержит процедуру с именем Main.

  • Процедура в любом модуле называется в честь автоматического макроса.

Как и другие макросы, автоматические макросы могут храниться в обычном шаблоне, другом шаблоне или документе. Чтобы автоматически запустить макрос, он должен находиться либо в шаблоне Обычный, либо в активном документе, либо в шаблоне, на котором основан активный документ. Единственным исключением является макрос AutoExec, который не будет выполняться автоматически, если он не хранится в одном из следующих элементов: обычный шаблон, шаблон, который загружается глобально через диалоговое окно Шаблоны и надстройки , или глобальный шаблон, хранящийся в папке, указанной в качестве папки Автозагрузки. В случае конфликта именования (несколько автоматических макросов с одинаковым именем) Word запускает автоматический макрос, хранящийся в ближайшем контексте. Например, если создать макрос автозапуска в документе и в присоединенном шаблоне, будет выполняться только автоматический макрос, хранящийся в документе. При создании макроса AutoNew в обычном шаблоне макрос будет выполняться, если макрос с именем AutoNew не существует в документе или присоединенном шаблоне.

Примечание Можно удерживать клавишу SHIFT, чтобы предотвратить запуск автоматических макросов. Например, если создать новый документ на основе шаблона, содержащего макрос AutoNew, можно предотвратить запуск макроса AutoNew, удерживая клавишу SHIFT при нажатии кнопки ОК в диалоговом окне Создать (меню Файл ) и продолжая удерживать клавишу SHIFT до отображения нового документа. В макросе, который может активировать автоматический макрос, можно использовать следующую инструкцию, чтобы предотвратить запуск автоматических макросов.

WordBasic.DisableAutoMacros

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.