Я разработал простое приложение C# Winforms, которое загружает документы MS-Word 2007 через автоматизацию COM.Программная настройка параметров центра доверия MS-Word с использованием C#
Все это очень просто и прямолинейно, однако в зависимости от документа, который мне требуется для программирования, можно включить или отключить макросы, а также элементы управления ActiveX.
Возможно, есть способ сохранить это в реестре, но я хочу контролировать эти параметры в экземпляре по принципу экземпляра, поскольку одновременно может выполняться несколько одновременных запросов.
Так что мой вопрос: «Как настроить параметры центра доверия с помощью автоматизации COM».
Я Googled в течение нескольких часов, но все, что я смог найти это свойство Application.AutomationSecurity, но это только принимает следующие значения:
- MsoAutomationSecurity.msoAutomationSecurityLow
- MsoAutomationSecurity.msoAutomationSecurityForceDisable
- MsoAutomationSecurity.msoAutomationSecurityByUI
Центр доверия Word 2007 однако предоставляет следующие настройки:
Макро Настройки:
- Отключить все макросы без уведомления (соответствует msoAutomationSecurityForceDisable)
- Отключить все макросы с уведомлениями (мне не нужен этот)
- Отключить все макросы, кроме цифровой форме не подписанные макросы (нет эквивалента)
- Включить все макросы (соответствует msoAutomationSecurityLow)
alt text http://www.visguy.com/wp-content/uploads/2007/05/v2007-security-settings.png
управления ActiveX (настраивается отдельно, я не нашел способ управления этим, обратите внимание, что в соответствии с скриншоте эти параметры разделены между всеми приложениями)
- Отключить все элементы управления без уведомление
- Подскажите мне, прежде чем включать элементы управления UFI ....
- Подсказка, прежде чем включать все элементы управления с минимальными ошибками
- Включить все элементы управления без ограничений
Я попробовал старый трюк записи макроса MS-Word, при изменении этих параметров, но ни один из этих шагов не записываются.
Обновление: Я нашел следующие записи для элементов управления ActiveX в реестре.Похоже, что настройки ActiveX действительно глобальны и не могут быть указаны для одного экземпляра MS-Word, если кто-то не докажет мне, что я ошибаюсь.
ActiveX Отключено
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = DWORD: 00000001 "UFIControls" = DWORD: 00000002
ActiveX Включается безопасном режиме
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = DWORD: 00000000 "UFIControls" = DWORD: 00000002
ActiveX Включено без безопасного режима
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = DWORD: 00000000 "UFIControls" = DWORD: 00000001
Тем не менее стремится разрешить макрос проблема настроек