La configuration par programme MS-Word du Centre de gestion de paramètres à l'aide de C#

J'ai mis au point un simple C#, Winforms application qui se charge de MS-Word 2007 documents via automation COM.

Tout cela est très simple et direct, toutefois, selon le document dont j'ai besoin pour le programmant Activer ou Désactiver les Macros ainsi que les contrôles ActiveX.

Il y a probablement un moyen de les stocker dans la base de registre, mais je veux le contrôle de ces paramètres sur une instance en instance de base comme plusieurs demandes simultanées peuvent être en cours d'exécution à la fois.

Donc ma question est " comment dois-je configurer le centre de confiance des paramètres à l'aide d'automation COM'.

J'ai Cherché pendant des heures, mais tout ce que j'ai pu trouver l'Application.AutomationSecurity bien, mais ce n'accepte les valeurs suivantes:

  • MsoAutomationSecurity.avec la valeur msoautomationsecuritylow
  • MsoAutomationSecurity.msoAutomationSecurityForceDisable
  • MsoAutomationSecurity.msoAutomationSecurityByUI

Word 2007 Centre de gestion de la cependant expose les paramètres suivants:

Paramètres Des Macros:

  • Désactiver toutes les macros sans notification (correspond à msoAutomationSecurityForceDisable)
  • Désactiver toutes les macros avec des notifications (je n'ai pas besoin de celui-ci)
  • Désactiver toutes les macros à l'exception des macros signées numériquement (Pas d'équivalent)
  • Activer toutes les macros (correspondance avec la valeur msoautomationsecuritylow)

le texte d'alt http://www.visguy.com/wp-content/uploads/2007/05/v2007-security-settings.png


Contrôles ActiveX (configuré séparément, je n'ai pas trouvé de moyen de contrôle de ces, de noter que selon la capture d'écran, ces paramètres sont partagés entre toutes les applications)

  • Désactiver tous les contrôles sans notification
  • M'avertir avant d'activer les contrôles UFI....
  • M'avertir avant d'activer tous les contrôles avec un minimum de erstrictions
  • Activer tous les contrôles sans restrictions

La configuration par programme MS-Word du Centre de gestion de paramètres à l'aide de C#

J'ai essayé le vieux truc de l'enregistrement d'un MS-Word macro lors de la modification de ces paramètres, mais aucune de ces mesures sont enregistrées.

Mise à jour:
J'ai trouvé les entrées suivantes pour les contrôles ActiveX les paramètres dans le registre. Ressemble paramètres ActiveX sont en effet global et ne peut pas être spécifié pour un seul MS-Parole de l'instance, à moins que quelqu'un prouve que j'ai tort.

ActiveX Désactivé

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Sécurité]
"DisableAllActiveX"=dword:00000001
"UFIControls"=dword:00000002

ActiveX est Activé avec le mode sans échec

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Sécurité]
"DisableAllActiveX"=dword:00000000
"UFIControls"=dword:00000002

ActiveX est Activé sans mode sans échec

[HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Sécurité]
"DisableAllActiveX"=dword:00000000
"UFIControls"=dword:00000001

Toujours désireux de régler les paramètres des macros problème

OriginalL'auteur Jeroen Ritmeijer | 2009-10-21