Evenement ouverture d'un document basé sur un modèle

Fermé
Paradize - 10 août 2017 à 16:18
m@rina Messages postés 20104 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 29 avril 2024 - 12 août 2017 à 02:26
Bonjour,

J'aimerai savoir s'il est possible de faire un évènement lors de l'ouverture d'un document Word basé sur un modèle. Dans le modèle, les évènements Document_Open ou Document_New ne concernent pas l'évènement ouverture d'un document basé sur ce modèle.

S'il n'est pas possible de lancer des macros à l'ouverture d'un document basé sur le modèle, je me verrai obligé de les lancer manuellement :/
La macro en question est l'ajout d'un complément Word (un AddIn).

Merci et bonne journée à toutes et à tous !



A voir également:

2 réponses

thev Messages postés 1853 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 27 avril 2024 681
11 août 2017 à 12:42
Bonjour,

Je ne pense pas. Mais il est possible de tester si l'ouverture du document se fait avec un modèle spécifique :
Private Sub Document_Open()
If Not ActiveDocument.AttachedTemplate.Name Like "Normal*" Then .....
End Sub

0
Merci pour votre réponse. Seulement moi si cest un document word basé sur un modèle, je ne rentre mm pas dans le "document_open" placé dans le Thisdocument du modèle.
0
m@rina Messages postés 20104 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 29 avril 2024 11 274
Modifié le 12 août 2017 à 02:27
Bonjour,

Je vais un peu contredire ce qui s'est dit ici et dans divers topics récents.

En réalité, et "normalement", la réponse à ta question est Oui, une macro insérée dans un modèle peut se déclencher à la création d'un nouveau document et également à l'ouverture d'un document existant basé sur ce modèle.

Pour la macro qui se lance à l'ouverture (dans ton cas), il y a "en principe" deux solutions :
- Une macro Document_Open dans le module ThisDocument.
- Une macro nommée AutoOpen dans un module normal.

Alors si je prends des gants en disant "normalement", "en principe", c'est que dans les nouvelles versions, ça ne fonctionne plus (comme ça devrait). Et pourtant Microsoft le dit :
https://docs.microsoft.com/fr-FR/office/vba/api/Word.Document.Open
et également ici :
https://docs.microsoft.com/fr-fr/office/vba/word/concepts/customizing-word/auto-macros?redirectedfrom=MSDN

Dans la version 2003 ça fonctionne parfaitement. Je me demande si ce n'est pas une mise à jour qui a mis le bazar.

Dans ton cas, du coup, la seule solution pour déclencher la macro est de la mettre dans le normal.dotm et là, bizarrement, ça va fonctionner. Dans cette macro, tu devras vérifier si le document porte sur ton modèle.

ActiveDocument.AttachedTemplate= **** then

Par contre, l'événement New fonctionne toujours.

m@rina

Inutile de me poser vos questions en privé. Je n'y réponds pas.
0