OVH Cloud OVH Cloud

Désactiver les macros

2 réponses
Avatar
MILCENT Bernhart
Bonjour à tous(tes),

Il y a qq jours , je postais une question sur la facon de désactiver les
macros dans excel.
Bien sympa, Catherine me propose le code qui se trouve à la fin de ce poste.

Ma question est double :

1) Où puis-je me procurer les constantes de compilation ( excel.h ex:
secAutomation = Valeur numérique )

2) le code proposé fonctionnera t'il sous Excel 97 - Excel 2000 - Office xp
2003 ?


je vous remercie d'avance pour la réponse

bernhart

*--- SOLUTION PROPOSEE PAR CATHERINE -------------------------------

voici un exemple trouver dans l'aide excel,

Cet exemple montre comment capturer le paramétrage de la sécurité
automation en cours, changer ce paramétrage pour désactiver des macros,
afficher la boîte de dialogue Ouvrir et, après avoir ouvert le document
sélectionné, réaffecter le paramétrage d'origine à la sécurité
automation.

Sub Security()
Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.FileDialog(msoFileDialogOpen).Show
Application.AutomationSecurity = secAutomation
End Sub

2 réponses

Avatar
Frédéric Sigonneau
Bonjour,

MILCENT Bernhart a écrit:
Bonjour à tous(tes),

Il y a qq jours , je postais une question sur la facon de désactiver les
macros dans excel.
Bien sympa, Catherine me propose le code qui se trouve à la fin de ce poste.

Ma question est double :

1) Où puis-je me procurer les constantes de compilation ( excel.h ex:
secAutomation = Valeur numérique )


Si je comprends bien ta question, l'explorateur d'objets (F2 dans l'éditeur de
code VBE) fournit ce genre de renseignements. Par exemple :
msoAutomationSecurityForceDisable = 3

2) le code proposé fonctionnera t'il sous Excel 97 - Excel 2000 - Office xp
2003 ?


AMA, le type MsoAutomationSecurity n'existe pas en Excel 97. En Excel 2002 oui,
Excel 2000, pas sûr.

je vous remercie d'avance pour la réponse

bernhart


FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


*--- SOLUTION PROPOSEE PAR CATHERINE -------------------------------

voici un exemple trouver dans l'aide excel,

Cet exemple montre comment capturer le paramétrage de la sécurité
automation en cours, changer ce paramétrage pour désactiver des macros,
afficher la boîte de dialogue Ouvrir et, après avoir ouvert le document
sélectionné, réaffecter le paramétrage d'origine à la sécurité
automation.

Sub Security()
Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.FileDialog(msoFileDialogOpen).Show
Application.AutomationSecurity = secAutomation
End Sub






Avatar
Philippe.R
Bonsoir Frédéric et Bernhart,
Je confirme que MsoAutomationSecurity n'existe pas en Excel 97
Histoire de lever un doute.
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Frédéric Sigonneau" <frédé a écrit dans le message de
news:
Bonjour,

MILCENT Bernhart a écrit:
Bonjour à tous(tes),

Il y a qq jours , je postais une question sur la facon de désactiver les
macros dans excel.
Bien sympa, Catherine me propose le code qui se trouve à la fin de ce poste.

Ma question est double :

1) Où puis-je me procurer les constantes de compilation ( excel.h ex:
secAutomation = Valeur numérique )


Si je comprends bien ta question, l'explorateur d'objets (F2 dans l'éditeur de
code VBE) fournit ce genre de renseignements. Par exemple :
msoAutomationSecurityForceDisable = 3

2) le code proposé fonctionnera t'il sous Excel 97 - Excel 2000 - Office xp
2003 ?


AMA, le type MsoAutomationSecurity n'existe pas en Excel 97. En Excel 2002 oui,
Excel 2000, pas sûr.

je vous remercie d'avance pour la réponse

bernhart


FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


*--- SOLUTION PROPOSEE PAR CATHERINE -------------------------------

voici un exemple trouver dans l'aide excel,

Cet exemple montre comment capturer le paramétrage de la sécurité
automation en cours, changer ce paramétrage pour désactiver des macros,
afficher la boîte de dialogue Ouvrir et, après avoir ouvert le document
sélectionné, réaffecter le paramétrage d'origine à la sécurité
automation.

Sub Security()
Dim secAutomation As MsoAutomationSecurity
secAutomation = Application.AutomationSecurity
Application.AutomationSecurity = msoAutomationSecurityForceDisable
Application.FileDialog(msoFileDialogOpen).Show
Application.AutomationSecurity = secAutomation
End Sub