J'ai développé une application de Winforms C # simple qui charge des documents MS-Word 2007 via COM Automation. p>
Ceci est tout très simple et simple, cependant, en fonction du document dont j'ai besoin d'activer ou de désactiver des macros ainsi que des contrôles ActiveX. P>
Il existe probablement un moyen de stocker cela dans le registre, mais je veux contrôler ces paramètres sur une instance par exemple, car plusieurs demandes simultanées peuvent être exécutées à la fois. P>
Donc, ma question est ' comment configurer les paramètres du centre de confiance à l'aide de COM Automation em>'. P>
J'ai googlé pendant des heures, mais tout ce que j'ai pu trouver est l'application.AutomationEcity Propriété, mais cela n'accepte que les valeurs suivantes: P>
Le mot Centre de fiducie de Word 2007 expose cependant les paramètres suivants: P>
Paramètres de macro: P>
Contrôles ActiveX (configuré séparément, je n'ai trouvé aucun moyen de les contrôler, notez que, selon la capture d'écran, ces paramètres sont partagés entre toutes les applications) P>
p>
J'ai essayé le vieil truc d'enregistrement d'une macro MS-Word lors de la modification de ces paramètres, mais aucune de ces étapes n'est enregistrée. P>
ActiveX désactivé p>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security]
"DisableallActiveX" = DWORD: 00000001
"Uficontrols" = DWORD: 00000002 P>
ActiveX activé avec mode sans échec p>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security]
"DisableallActiveX" = DWORD: 00000000
"Uficontrols" = DWORD: 00000002 P>
ActiveX activé sans mode de sécurité p>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security]
"DisableallActiveX" = DWORD: 00000000
"Uficontrols" = DWORD: 00000001 P>
toujours désireux de résoudre le problème des paramètres de macro p>
(Source: visguy.com < / a>) sub> p>
4 Réponses :
On dirait que je vais répondre à ma propre question. P>
Je l'ai testé et peut confirmer que les mappages sont les suivants: P>
msoautomationecurityForcedisable = désactiver toutes les macros sans
Notification P> LI>
msoautomationecurityByUI = désactiver toutes les macros sauf numériquement
Macros signé P> li>
msoautomationecurityLow = Activer toutes les macros p> li>
ul>
Au meilleur de ma connaissance, les paramètres ActiveX globaux ne peuvent être configurés que par modifier directement le registre P>
ActiveX désactivé fort> p>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisablealLactiveX" = DWORD: 00000001 "UFFICOROLS" = DWORD: 00000002 P>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisablealLactiveX" = DWORD: 00000000 "UFFONTROLS" = DWORD: 00000002 P>
[HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ Common \ Security] "DisableallActiveX" = DWORD: 00000000 "UFFICOROLS" = DWORD: 00000001 P>
J'ai laissé un commentaire dans le section pertinente du site Web MSDN a > p>
Je sais que ce fil est assez vieux, mais je devais le comprendre aujourd'hui, donc après une recherche rapide j'ai trouvé ce registre pour le Trust Center Paramètres strong>: p>
Ceci est valable pour la version Word 2010 (et probablement 2007, mais avec 12,0 au lieu de 14,0) p>
p>
Ou dans le texte: p>
Registre emplacement: strong> p>
HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 14.0 \ Word \ Security p>
Nom em>: VBAWarnings p>
Données em>: p>
Désactiver toutes les macros sans notification - 4 strong> p>
Désactiver toutes les macros avec notification - 2 strong> p>
Désactiver toutes les macros à l'exception des macros signées numériquement - 3 strong> p>
Activer toutes les macros (...) - 1 strong> p>
Paramètres des macros Développeur: strong> p>
Nom em>: AccessVBOM p>
Données em>: p>
Décoché - 0 strong> p>
Analyse - 1 strong> p>
Pour le réglage des contrôles ActiveX dans Office 2010
à DisbaleActiveX sans mode sans échec, il vous suffit de ... P>
"HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Security" /v UFIControls /t REG_DWORD /D 1 /F
J'ai passé quelques jours à essayer la même chose et j'ai finalement découvert un moyen très simple d'ouvrir un fichier .xls contenant des macros, sans gâcher les paramètres de confiance du registre ou de l'Excel. En C #: voir msdn pour plus de détails. P> mon paramètre Excel Trust Center a été défini sur des valeurs par défaut -" Désactiver toutes les macros avec des avertissements " et "ne faites pas confiance à l'accès au modèle d'objet VBA. Sans l'option MSOfilevalidationskip Une exception a été lancée. Avec l'option MSOfilevalidationskip, le fichier a ouvert l'amende. P> Il me semble que c'est la voie à suivre, Puisqu'il permet à un programme d'ouvrir des fichiers avec des macros, mais n'ouvre pas les feuilles de calcul des virus d'application Excel. P> Notez que je cours bureau 2010. Je ne sais pas sur quelle version du bureau Cette option a été introduite. p> p>