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
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
Vous devez vous connecter pour publier un commentaire.
Regarde comme je vais répondre à ma propre question.
Je l'ai testé et je peux confirmer que les mappages sont comme suit:
Paramètres Des Macros:
msoAutomationSecurityForceDisable = Désactiver toutes les macros sans
notification
msoAutomationSecurityByUI = Désactiver toutes les macros à l'exception des numériquement
les macros signées
avec la valeur msoautomationsecuritylow = Activer toutes les macros
Au meilleur de ma connaissance du mondial paramètres ActiveX ne peut être configuré en modifiant directement le registre
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
J'ai laissé un commentaire dans le section pertinente du site web MSDN
OriginalL'auteur Jeroen Ritmeijer
Je sais que ce fil est assez vieux, mais j'ai dû le comprendre aujourd'hui, donc après une petite recherche j'ai trouvé ce registre pour le Confiance Paramètres du Centre de:
Cela s'applique à la version de Word 2010 (et probablement en 2007, mais avec 12.0 au lieu de 14,0)
Ou dans le texte:
Emplacement de registre:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Sécurité
Paramètres Des Macros:
Nom: VBAWarnings
Données:
Désactiver toutes les macros sans notification - 4
Désactiver toutes les macros avec notification - 2
Désactiver toutes les macros à l'exception des macros signées numériquement - 3
Activer toutes les macros (...) - 1
Développeur Paramètres Des Macros:
Nom: AccessVBOM
Données:
Décoché - 0
Vérifié - 1
OriginalL'auteur etaiso
Pour le réglage de contrôles ActiveX dans office 2010
à DisbaleActiveX sans mode sans échec, vous devez seulement ...
OriginalL'auteur AltF4_
J'ai passé une couple de jours à essayer la même chose et enfin découvert une façon très simple de l'ouverture d'un .xls fichier contenant des macros, sans déconner avec le registre ou Excel paramètres de confiance. En C#:
Voir MSDN pour plus de détails.
Mon Excel centre de gestion de la mise en scène étaient tous ensemble pour la valeur par défaut de "Désactiver Toutes les Macros avec des Avertissements", et "Ne Pas faire confiance à accéder au modèle objet VBA. Sans le msoFileValidationSkip option une exception a été levée. Avec le msoFileValidationSkip option de l'ouverture du dossier de l'amende.
Il me semble que c'est le chemin à parcourir, car il permet à un programme pour ouvrir les fichiers avec des macros, mais n'ouvre pas l'application Excel virus proie à des feuilles de calcul.
Noter que je suis sous Office 2010. Je ne sais pas sur quelle version d'Office cette option a été introduite.
OriginalL'auteur user3495258