Evenement ouverture d'un document basé sur un modèle
Paradize
-
m@rina Messages postés 23885 Date d'inscription Statut Contributeur Dernière intervention -
m@rina Messages postés 23885 Date d'inscription Statut Contributeur Dernière intervention -
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 !
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:
- Modele organigramme word
- Modèle organigramme word - Guide
- Word 2013 - Télécharger - Traitement de texte
- Modèle de style word - Guide
- Tableau word - Guide
- Espace insécable word - Guide
2 réponses
Bonjour,
Je ne pense pas. Mais il est possible de tester si l'ouverture du document se fait avec un modèle spécifique :
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
Paradize
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.
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.
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.