Проблемы
Код, написанный для автоматизации приложения Office и программного управления средой и объектной моделью Microsoft Visual Basic для приложений (VBA), может завершиться ошибкой в Office с одним из следующих сообщений об ошибке: Из Visual Basic или VBA:
Ошибка времени выполнения "6068": программный доступ к Проекту Visual Basic не является доверенным
Из Microsoft Visual C++, Microsoft Foundation Classes (MFC) или Библиотеки шаблонов ActiveX (ATL):
HRESULT = 0x800A17B4 (-2146822220) "Программный доступ к проекту Visual Basic не является доверенным"
Тот же код работает без ошибок на компьютерах с Office 97 и Office 2000.
Причина
Office добавляет параметр безопасности для намеренной блокировки программного доступа к объектной модели VBA из любого клиента службы автоматизации, если пользователь не решит разрешить такой доступ. Это параметр для каждого пользователя и приложения, который по умолчанию запрещает доступ. Этот параметр безопасности усложняет для несанкционированных программ создание самовоспроизводяющегося кода, который может нанести вред системам конечных пользователей.
Решение
Чтобы любой клиент службы автоматизации мог получить доступ к объектной модели VBA программным способом, пользователь, выполняя код, должен явно предоставить доступ. Чтобы включить доступ, пользователь должен выполнить следующие действия.
Office 2003 и Office XP
-
Откройте соответствующее приложение Office 2003 или Office XP. В меню Сервис выберите пункт Макрос, а затем — Безопасность, чтобы открыть диалоговое окно Безопасность макросов.
-
На вкладке Надежные источники щелкните, чтобы выбрать поле Доверять доступу к проекту Visual Basic проверка, чтобы включить доступ.
-
Нажмите кнопку ОК, чтобы применить параметр. Для правильного выполнения кода может потребоваться перезапустить приложение, если вы автоматизируете работу из надстройки или шаблона com.
Office 2007
-
Откройте системное приложение Microsoft Office 2007. Нажмите кнопку Microsoft Office и выберите Пункт Параметры приложения.
-
Перейдите на вкладку Центр управления безопасностью и выберитеПараметры центра управления безопасностью.
-
Перейдите на вкладку Параметры макросов, установите флажок Доверять доступу к объектной модели проекта VBA проверка, а затем нажмите кнопку ОК.
-
Нажмите кнопку ОК.