Programmgesteuert konfigurieren von MS-Word-Vertrauensstellungscenter-Einstellungen mit C#

Entwickelt ich eine einfache C# - Winforms-Anwendung, lädt MS-Word-2007-Dokumente über die COM-Automatisierung.

Dies ist alles sehr einfach und geradlinig, aber je nach Dokument, das ich brauche, um programamtically Aktivieren oder Deaktivieren von Makros als auch ActiveX-Steuerelemente.

Es ist wahrscheinlich ein Weg, um dies in der registry, aber ich möchte die Kontrolle über diese Einstellungen über eine Instanz von Instanz-basis, wie mehrere gleichzeitige Anfragen kann zu einem Zeitpunkt ausgeführt werden.

Also meine Frage ist: "wie Konfiguriere ich die trust center-Einstellungen über die COM-Automatisierung'.

Habe ich Googeln für Stunden, aber alles was ich finden konnte, haben die Anwendung.AutomationSecurity-Eigenschaft, aber dieser akzeptiert nur die folgenden Werte:

  • MsoAutomationSecurity.msoAutomationSecurityLow
  • MsoAutomationSecurity.msoAutomationSecurityForceDisable
  • MsoAutomationSecurity.msoAutomationSecurityByUI

Word 2007 Vertrauensstellungscenter jedoch stellt die folgenden Einstellungen:

Makro-Einstellungen:

  • Alle Makros ohne Benachrichtigung deaktivieren (entspricht msoAutomationSecurityForceDisable)
  • Deaktivieren Sie alle Makros mit Benachrichtigungen (die ich nicht brauchen)
  • Deaktivieren alle Makros außer Digital signierte Makros (Nicht äquivalent)
  • Alle Makros aktivieren (entspricht msoAutomationSecurityLow)

Programmgesteuert konfigurieren von MS-Word-Vertrauensstellungscenter-Einstellungen mit C#

(Quelle: visguy.com)


ActiveX-Steuerelemente (separat konfiguriert, ich habe nicht gefunden, einen Weg, um die Kontrolle über diese, beachten Sie, dass nach dem screenshot diese Einstellungen sind Global für alle Anwendungen)

  • Deaktivieren Sie alle Steuerelemente ohne Benachrichtigung
  • Eingabeaufforderung anzeigen, bevor UFI-Steuerelemente....
  • Eingabeaufforderung anzeigen, bevor alle Steuerelemente mit minimalen erstrictions
  • Damit alle Steuerelemente ohne Einschränkungen

Programmgesteuert konfigurieren von MS-Word-Vertrauensstellungscenter-Einstellungen mit C#

Habe ich versucht die alte trick der Aufnahme einer MS-Word-Makros, während Sie diese Einstellungen ändern, aber keiner dieser Schritte werden aufgezeichnet.

Update:
Ich habe festgestellt, die folgenden Einträge für die ActiveX-Steuerelemente-Einstellungen in der registry. Sieht aus wie ActiveX-Einstellungen sind in der Tat global und kann nicht angegeben werden, für eine einzelne MS-Word-Instanz, es sei denn, jemand beweist mir falsch.

ActiveX Deaktiviert

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"Disableallactivex geändert"=dword:00000001
"UFIControls"=dword:00000002

ActiveX Aktiviert mit dem abgesicherten Modus

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"Disableallactivex geändert"=dword:00000000
"UFIControls"=dword:00000002

ActiveX Aktiviert ohne den abgesicherten Modus

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security]
"Disableallactivex geändert"=dword:00000000
"UFIControls"=dword:00000001

Immer noch daran interessiert, zu beheben, die makro-Einstellungen problem

Schreibe einen Kommentar