Ho sviluppato una semplice applicazione C# Winforms che carica documenti MS-Word 2007 tramite l'automazione COM.Configurazione programmatica delle impostazioni di Trust Center di MS-Word tramite C#
Questo è tutto molto semplice e diretto, tuttavia a seconda del documento ho bisogno di programmare abilmente o disabilitare i macro e controlli ActiveX.
Probabilmente esiste un modo per memorizzarlo nel registro, ma voglio controllare queste impostazioni su un'istanza per istanza in quanto potrebbero essere in esecuzione più richieste simultanee alla volta.
Quindi la mia domanda è 'come configurare le impostazioni del centro di fiducia utilizzando l'automazione COM'.
Ho Googled per ore, ma tutto quello che ho potuto trovare è la proprietà Application.AutomationSecurity, ma questo accetta solo i seguenti valori:
- MsoAutomationSecurity.msoAutomationSecurityLow
- MsoAutomationSecurity.msoAutomationSecurityForceDisable
- MsoAutomationSecurity.msoAutomationSecurityByUI
il Centro protezione Word 2007 tuttavia espone il seguenti impostazioni:
Macro Regolazioni:
- Disattiva tutte le macro senza notifica (partite msoAutomationSecurityForceDisable)
- Disattiva tutte le macro con le notifiche (Non ho bisogno di questo)
- Disattiva tutte le macro tranne in digitale macro firmate (Nessun equivalente)
- Attiva tutte le macro (partite MsoAutomationSecurityLow)
alt text http://www.visguy.com/wp-content/uploads/2007/05/v2007-security-settings.png
controlli ActiveX (configurati separatamente, non ho trovato alcun modo per controllare questi, si noti che in base alla schermata queste impostazioni sono condivise tra tutte le applicazioni)
- Disable tutti i controlli senza notifica
- mi conferma prima di attivare controlli UFI ....
- mi conferma prima di attivare tutti i controlli con erstrictions minimi
- Attiva tutti i controlli senza restrizioni
Ho provato il vecchio trucco di registrazione di una macro di MS-Word durante la modifica di queste impostazioni, ma nessuno di questi passaggi sono registrati.
Aggiornamento: Ho trovato le voci seguenti per le impostazioni dei controlli ActiveX nel registro.Sembra che le impostazioni di ActiveX siano effettivamente globali e non possano essere specificate per una singola istanza di MS-Word a meno che qualcuno non mi provi male.
ActiveX disabili
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = dword: 00000001 "UFIControls" = dword: 00000002
ActiveX abilitato con la modalità sicura
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = dword: 00000000 "UFIControls" = dword: 00000002
ActiveX permessi a senza la modalità provvisoria
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableAllActiveX" = dword: 00000000 "UFIControls" = dword: 00000001
ancora desiderosi di risolvere la macro problema impostazioni