exécution automatique d'une macro lors de la fusion
7 réponses
Wlad69
Bonjour,
Je travaille avec un progiciel qui r=E9alise des fusions avec Word. Je
n'ai donc pas la main sur le lancement de la fusion.
Je ne peut agir que sur le contenu des mod=E8les de documents lanc=E9s.
Je souhaite savoir si il est possible avec une macro AutoNew,
AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une
macro =E0 la fin de la fusion.
Je pense par exemple =E0 une macro qui remplacerait des champs
INCLUDETEXT par leur valeur.
Peut-=EAtre y a-t-il un autre moyen de lancer automatiquement une macro
dans le genre du champ MACROBUTTON ?
Je suis preneur de toutes les id=E9es. Enfin, surtout les
bonnes ! ;-)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Wlad69' nous a écrit ...
Je travaille avec un progiciel qui réalise des fusions avec Word. Je n'ai donc pas la main sur le lancement de la fusion. Je ne peut agir que sur le contenu des modèles de documents lancés. Je souhaite savoir si il est possible avec une macro AutoNew, AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence par instancier un module de classe d'événement d'application Word.
' --------------------------------------------------------------- ' Dans ThisDocument : Dim X As New EvenPublipostage Public Sub AutoOpen() Set X.wdApp = Word.Application End Sub ' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage' vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' --------------------------------------------------------------- ' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _ (ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub ' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fusion tous les champs du document de fusion, et notamment les IncludeText que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Bonjour !
'Wlad69' nous a écrit ...
Je travaille avec un progiciel qui réalise des fusions avec Word. Je
n'ai donc pas la main sur le lancement de la fusion.
Je ne peut agir que sur le contenu des modèles de documents lancés.
Je souhaite savoir si il est possible avec une macro AutoNew,
AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une
macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence
par instancier un module de classe d'événement d'application Word.
' ---------------------------------------------------------------
' Dans ThisDocument :
Dim X As New EvenPublipostage
Public Sub AutoOpen()
Set X.wdApp = Word.Application
End Sub
' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage'
vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' ---------------------------------------------------------------
' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _
(ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub
' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fusion
tous les champs du document de fusion, et notamment les IncludeText
que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
Je travaille avec un progiciel qui réalise des fusions avec Word. Je n'ai donc pas la main sur le lancement de la fusion. Je ne peut agir que sur le contenu des modèles de documents lancés. Je souhaite savoir si il est possible avec une macro AutoNew, AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence par instancier un module de classe d'événement d'application Word.
' --------------------------------------------------------------- ' Dans ThisDocument : Dim X As New EvenPublipostage Public Sub AutoOpen() Set X.wdApp = Word.Application End Sub ' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage' vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' --------------------------------------------------------------- ' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _ (ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub ' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fusion tous les champs du document de fusion, et notamment les IncludeText que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Wlad69
On 13 mar, 13:37, Anacoluthe wrote:
Bonjour !
'Wlad69' nous a écrit ...
Je travaille avec un progiciel qui réalise des fusions avec Word. Je n'ai donc pas la main sur le lancement de la fusion. Je ne peut agir que sur le contenu des modèles de documents lancés. Je souhaite savoir si il est possible avec une macro AutoNew, AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence par instancier un module de classe d'événement d'application Word.
' --------------------------------------------------------------- ' Dans ThisDocument : Dim X As New EvenPublipostage Public Sub AutoOpen() Set X.wdApp = Word.Application End Sub ' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage' vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' --------------------------------------------------------------- ' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _ (ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub ' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fu sion tous les champs du document de fusion, et notamment les IncludeText que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
WAHOU ! Super! Tu m'as ouvert de nouvelles perspectives... Suite à ton message; comme cela ne fonctionnait pas chez moi, j'ai trouvé ces articles très intéressant : http://www.microsoft.com/france/msdn/office/articles/20030716-wdappevnt.mspx et http://support.microsoft.com/kb/285333/fr
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n'est apparue qu'avec Word 2002.
Dommage.
Y-a-t'il une autre solution ? Mis à part changer de version de Word.
On 13 mar, 13:37, Anacoluthe <nopub_anacolu...@Ouanadoo.fr> wrote:
Bonjour !
'Wlad69' nous a écrit ...
Je travaille avec un progiciel qui réalise des fusions avec Word. Je
n'ai donc pas la main sur le lancement de la fusion.
Je ne peut agir que sur le contenu des modèles de documents lancés.
Je souhaite savoir si il est possible avec une macro AutoNew,
AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une
macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence
par instancier un module de classe d'événement d'application Word.
' ---------------------------------------------------------------
' Dans ThisDocument :
Dim X As New EvenPublipostage
Public Sub AutoOpen()
Set X.wdApp = Word.Application
End Sub
' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage'
vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' ---------------------------------------------------------------
' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _
(ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub
' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fu sion
tous les champs du document de fusion, et notamment les IncludeText
que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
WAHOU !
Super!
Tu m'as ouvert de nouvelles perspectives...
Suite à ton message; comme cela ne fonctionnait pas chez moi, j'ai
trouvé ces articles très intéressant :
http://www.microsoft.com/france/msdn/office/articles/20030716-wdappevnt.mspx
et
http://support.microsoft.com/kb/285333/fr
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela
ne fonctionne pas chez moi : j'ai Word 2000 sp3 !
Et la procédure d'événenment d'application MailMergeAfterMerge n'est
apparue qu'avec Word 2002.
Dommage.
Y-a-t'il une autre solution ? Mis à part changer de version de Word.
Je travaille avec un progiciel qui réalise des fusions avec Word. Je n'ai donc pas la main sur le lancement de la fusion. Je ne peut agir que sur le contenu des modèles de documents lancés. Je souhaite savoir si il est possible avec une macro AutoNew, AutoOpen, AutoExec ou AutoJeSaisPasQuoi, de lancer automatiquement une macro à la fin de la fusion.
Dans votre document principal, placez une macro AutoOpen qui commence par instancier un module de classe d'événement d'application Word.
' --------------------------------------------------------------- ' Dans ThisDocument : Dim X As New EvenPublipostage Public Sub AutoOpen() Set X.wdApp = Word.Application End Sub ' ---------------------------------------------------------------
Dans le module de classe nommé donc 'EvenPublipostage' vous pouvez déclencher une macro sur l'événement 'après fusion' :
exemple :
' --------------------------------------------------------------- ' Module de classe EvenPublipostage :
Public WithEvents wdApp As Application
Private Sub wdApp_MailMergeAfterMerge _ (ByVal Doc As Document, ByVal DocResult As Document)
DocResult.Fields.Unlink
End Sub ' ---------------------------------------------------------------
Cette macro d'événement va 'déchamper' automatiquement en fin de fu sion tous les champs du document de fusion, et notamment les IncludeText que vous souhaitiez voir remplacés par leur valeur.
C'est tout simple les événements, non ?
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
WAHOU ! Super! Tu m'as ouvert de nouvelles perspectives... Suite à ton message; comme cela ne fonctionnait pas chez moi, j'ai trouvé ces articles très intéressant : http://www.microsoft.com/france/msdn/office/articles/20030716-wdappevnt.mspx et http://support.microsoft.com/kb/285333/fr
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n'est apparue qu'avec Word 2002.
Dommage.
Y-a-t'il une autre solution ? Mis à part changer de version de Word.
Anacoluthe
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n'est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela
ne fonctionne pas chez moi : j'ai Word 2000 sp3 !
Et la procédure d'événenment d'application MailMergeAfterMerge n'est
apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9
un fois affiché le document de fusion, vous pouvez placer cette action
dans une macro. Si vous souhaitez que cette macro s'exécute
automatiquement en fin de fusion, il y a moyen d'y arriver
avec l'événement DocumentChange dans WD2000. C'est moins joli
qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n'est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
JièL
Hello
« La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
T'es sûr que c'est de lui ? c'est pas Paco par hasard ? ;-))))
JièL Pas co mais presque
Hello
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
T'es sûr que c'est de lui ? c'est pas Paco par hasard ? ;-))))
« La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
T'es sûr que c'est de lui ? c'est pas Paco par hasard ? ;-))))
JièL Pas co mais presque
Wlad69
On 13 mar, 19:43, Anacoluthe wrote:
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n' est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK Merci beaucoup.
J'ai pas mal de chose à vérifier. Je vais essayer de tester çà dans la journée. Je vous tiens au courant.
Merci encore.
On 13 mar, 19:43, Anacoluthe <nopub_anacolu...@Ouanadoo.fr> wrote:
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela
ne fonctionne pas chez moi : j'ai Word 2000 sp3 !
Et la procédure d'événenment d'application MailMergeAfterMerge n' est
apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9
un fois affiché le document de fusion, vous pouvez placer cette action
dans une macro. Si vous souhaitez que cette macro s'exécute
automatiquement en fin de fusion, il y a moyen d'y arriver
avec l'événement DocumentChange dans WD2000. C'est moins joli
qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
Merci beaucoup.
J'ai pas mal de chose à vérifier.
Je vais essayer de tester çà dans la journée. Je vous tiens au
courant.
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n' est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK Merci beaucoup.
J'ai pas mal de chose à vérifier. Je vais essayer de tester çà dans la journée. Je vous tiens au courant.
Merci encore.
Wlad69
On 13 mar, 19:43, Anacoluthe wrote:
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n' est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Je peux me tromper... Mais j'ai l'impression que les seuls événements qui soient disponibles sous Word 2000 sont : Document_New Document_Close et Document_Open
Je ne trouve pas Document_Change. J'ai raté quelquechose ?
On 13 mar, 19:43, Anacoluthe <nopub_anacolu...@Ouanadoo.fr> wrote:
Bonjour !
'Wlad69' nous a écrit ...
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela
ne fonctionne pas chez moi : j'ai Word 2000 sp3 !
Et la procédure d'événenment d'application MailMergeAfterMerge n' est
apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9
un fois affiché le document de fusion, vous pouvez placer cette action
dans une macro. Si vous souhaitez que cette macro s'exécute
automatiquement en fin de fusion, il y a moyen d'y arriver
avec l'événement DocumentChange dans WD2000. C'est moins joli
qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
Je peux me tromper... Mais j'ai l'impression que les seuls événements
qui soient disponibles sous Word 2000 sont :
Document_New
Document_Close
et
Document_Open
Je ne trouve pas Document_Change.
J'ai raté quelquechose ?
C'est d'ailleurs grâce à ces articles que j'ai compris pourquoi cela ne fonctionne pas chez moi : j'ai Word 2000 sp3 ! Et la procédure d'événenment d'application MailMergeAfterMerge n' est apparue qu'avec Word 2002.
Arrrgh pouvais pas deviner votre version Word :-p
Outre qu'il n'est pas très difficile de faire Ctrl+A et Ctrl+Maj+F9 un fois affiché le document de fusion, vous pouvez placer cette action dans une macro. Si vous souhaitez que cette macro s'exécute automatiquement en fin de fusion, il y a moyen d'y arriver avec l'événement DocumentChange dans WD2000. C'est moins joli qu'avec MailMergeAfterMerge de WD2002+
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Je peux me tromper... Mais j'ai l'impression que les seuls événements qui soient disponibles sous Word 2000 sont : Document_New Document_Close et Document_Open
Je ne trouve pas Document_Change. J'ai raté quelquechose ?
Anacoluthe
Bonjour !
'Wlad69' nous a écrit ...
Je peux me tromper... Mais j'ai l'impression que les seuls événements qui soient disponibles sous Word 2000 sont : Document_New Document_Close et Document_Open
Je ne trouve pas Document_Change. J'ai raté quelquechose ?
Oui ce n'est pas Document_Change mais DocumentChange (nuance :-) ) donc de forme appWord_DocumentChange ou événement d'application ! Ceux que vous citez, les Document_... , sont des événements de document plus faciles à utiliser sans instanciation.
Si je me souviens bien, WD2000 disposait déjà de DocumentChange
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK
Bonjour !
'Wlad69' nous a écrit ...
Je peux me tromper... Mais j'ai l'impression que les seuls événements
qui soient disponibles sous Word 2000 sont :
Document_New
Document_Close
et
Document_Open
Je ne trouve pas Document_Change.
J'ai raté quelquechose ?
Oui ce n'est pas Document_Change mais DocumentChange (nuance :-) )
donc de forme appWord_DocumentChange ou événement d'application !
Ceux que vous citez, les Document_... , sont des événements de document
plus faciles à utiliser sans instanciation.
Si je me souviens bien, WD2000 disposait déjà de DocumentChange
Anacoluthe
« La prédiction d'un événement a pour résultat
de faire arriver ce qu'elle a prédit. »
- Paul WATZLAWICK
Je peux me tromper... Mais j'ai l'impression que les seuls événements qui soient disponibles sous Word 2000 sont : Document_New Document_Close et Document_Open
Je ne trouve pas Document_Change. J'ai raté quelquechose ?
Oui ce n'est pas Document_Change mais DocumentChange (nuance :-) ) donc de forme appWord_DocumentChange ou événement d'application ! Ceux que vous citez, les Document_... , sont des événements de document plus faciles à utiliser sans instanciation.
Si je me souviens bien, WD2000 disposait déjà de DocumentChange
Anacoluthe « La prédiction d'un événement a pour résultat de faire arriver ce qu'elle a prédit. » - Paul WATZLAWICK