В одной из Web-дискуссий был задан такой вопрос: «При загрузке Outlook у меня постоянно выдается окно предупреждения о наличии макросов в загружаемом проекте. Как мне добиться того, чтобы загрузка выполнялась автоматически без требования подтверждения в диалоговом окне?»
В целом решение этого вопроса одинаково для всех приложений Office. Но в отношении Outlook (версии 2000 и 2002) стоит напомнить, что эта программа использует для хранения макросов только один фиксированный файл с именем VbaProject.OTM, который хранится в каталоге C:\Windows\Application Data\Microsoft\Outlook\. Сам программный проект может иметь еще и собственное произвольное имя (оно видно только в среде VBA).
Для ответа на поставленный вопрос нужно иметь в виду, что приложения Office (начиная с 2000) имеют три уровня безопасности для управления загрузкой макросов, а также возможность использования цифровой подписи. С помощью этих механизмов можно более гибко управлять режимами загрузки.
Рассмотрим возможности управления безопасностью. Режим защиты устанавливается в диалоговом окне «Безопасность» (Security), которое открывается командой «Сервис|Макро|Безопасность», где видно описание трех возможных уровней безопасности.
Высокий. Разрешается запуск только подписанных макросов из надежных источников. Неподписанные макросы удаляются автоматически. При наличии макросов с неизвестными подписями выдается окно предупреждения, однако такие макросы можно подключить, только признав подлинность подписи. Средний. Подписанные макросы загружаются автоматически. О наличии неподписанных макросов выдается предупреждение, и решение об их загрузке принимается пользователем. Низкий. Защита отсутствует, все макросы загружаются автоматически. В приложениях Office по умолчанию установлен средний уровень безопасности, что и вызывает появление окна предупреждения о наличии макросов. Соответственно существует два варианта ответа на приведенный выше вопрос:
Установите низкий уровень безопасности — и никаких предупреждений вообще не будет. Но мы не рекомендуем этот вариант, так как проверка на наличие макросов при загрузке неизвестных файлов (например, полученных из Интернета или по электронной почте) необходима. Но для Outlook такой вариант является вполне подходящим — ведь мы имеем дело только с фиксированным файлом локального компьютера, который создается исключительно его хозяином. Лучший способ (наиболее универсальный) — использовать цифровую подпись проекта (в том числе и для Outlook). Для тех, кто работает с Word и Excel, есть еще один вариант, который позволяет отменить проверку наличия макросов в глобальных шаблонах и Add-ins. Для подобных приложений во вкладке Trusted Sources [Надежные источники] окна Security [Безопасность] имеется флажок Trust all installed Add-ins and templates [Доверять всем установленным надстройкам и шаблонам].
Под «установленными» подразумеваются дополнения и шаблоны, помещенные в каталог «Шаблоны пользователя». (Конкретное имя этого каталога указывается в поле User Templates [Шаблоны пользователя] во вкладке File Locations [Расположение] диалогового окна Tools|Options [Сервис|Параметры].)
По умолчанию данный флажок установлен, поэтому все шаблоны из этого каталога не проверяются на наличие макрокода (подразумевается, что вы помещаете туда файлы, в которых абсолютно уверены). Если вы все же хотите выполнять такую проверку, то снимите флажок.
В Word 97 такого специального режима для загрузки шаблонов не было. Но в начальной версии программы иногда имела место ошибка, когда шаблоны загружались без проверки на макрокод. Этот дефект уже давно устранен — заплатку, которая решает данную проблему, можно скачать на сайте Microsoft.