Comment empêcher "AutoOpen" dans un document ouvert par VBA depuis XL

Le
Emile63
Bonjour à tous,

Dans un fil précédent (résolu), je souhaitais ouvrir des fichiers
Excel + Word pour lister ceux qui ont du code VBA dans un onglet.
Jusque-là tout est OK.
Les fichier Excel qui ont du code sont maîtrisés par :
Application.EnableEvents = False
Par-contre, les doc. Word, qui ont une proc. "Document_Open" la
déclanchent quand ils sont ouverts par la procédure. Ce qui (pour
certaines d'entre-elles) plante le reste de la procédure.
Comment l'éviter?
Puis-je utiliser le commutateur "/m" a l'ouverture du fichier Word, ou
est-ce qu'il y a une autre commande VBA plus efficace pour l'occasion.
Merci pour votre aide,

Cordialement,
Emile
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #22619701
Bonjour,

Dans la procédure sur le traitement des fichiers Word, tu dois ajouter 2 lignes de code.

A ) Juste en dessous de la création de l'instance de l'application Word
Set Wd = CreateObject("Word.Application")
Ajoute cette ligne de code
Wd.WordBasic.DisableAutoMacros 1
Elle désactive les macros.

B ) Et pour réactiver les procédure événementielles, tu ajoutes cette ligne de code
Wd.WordBasic.DisableAutoMacros 0
Immédialement après la fin de la boucle "Do While.... Loop"
c'est a dire après la ligne Loop

--
MichD
--------------------------------------------


"Emile63"
Bonjour à tous,

Dans un fil précédent (résolu), je souhaitais ouvrir des fichiers
Excel + Word pour lister ceux qui ont du code VBA dans un onglet.
Jusque-là tout est OK.
Les fichier Excel qui ont du code sont maîtrisés par :
Application.EnableEvents = False
Par-contre, les doc. Word, qui ont une proc. "Document_Open" la
déclanchent quand ils sont ouverts par la procédure. Ce qui (pour
certaines d'entre-elles) plante le reste de la procédure.
Comment l'éviter?
Puis-je utiliser le commutateur "/m" a l'ouverture du fichier Word, ou
est-ce qu'il y a une autre commande VBA plus efficace pour l'occasion.
Merci pour votre aide,

Cordialement,
Emile
Emile63
Le #22619781
Bonjour MichDenis,

C'est parfait. ;-))

Merci beaucoup pour ton aide.
Cordialement,

Emile
Publicité
Poster une réponse
Anonyme