OVH Cloud OVH Cloud

Evenement Word "MailMergeDataSourceLoad"

1 réponse
Avatar
Pierre
Dans Word 2002, j'aimerais lancer une macro lorsque le=20
document actif est li=E9 =E0 une source de donn=E9e en vue d'une=20
fusion.
Pour ce faire, je m'aide de l'evenement=20
Word "MailMergeDataSourceLoad" mais sans succes.
Par contre l'evenement Word "DocumentChange", lui fonction=20
bien.
Est ce que quelqu'un =E0 une id=E9e???
Merci

Voici un exemple de code qui fonctionne pour=20
l'evenement "DocumentChange" mais par=20
pour "MailMergeDataSourceLoad", malgre une fusion avec le=20
document actif.


Modules: NewMacros

Option Explicit
Dim WordAppClass As New Classe1

Public Sub AutoExec()

Set WordAppClass.WordApp =3D Word.Application

End Sub


Modules de classe: Classe1

Option Explicit
Public WithEvents WordApp As Word.Application

Private Sub WordApp_DocumentChange()

If Application.Documents.Count >=3D 1 Then
MsgBox ("Docment Change")
Else
MsgBox ("Document Close")
End If
ThisDocument.Saved =3D True

End Sub

Private Sub WordApp_MailMergeDataSourceLoad(ByVal Doc As=20
Document)

MsgBox ("Merge Data Load")

End Sub

1 réponse

Avatar
Hervé Branchu
Bonjour Pierre

Dans le message :
Pierre ecrivait:

Dans Word 2002, j'aimerais lancer une macro lorsque le
document actif est lié à une source de donnée en vue d'une
fusion.
Pour ce faire, je m'aide de l'evenement
Word "MailMergeDataSourceLoad" mais sans succes.
Par contre l'evenement Word "DocumentChange", lui fonction
bien.
Est ce que quelqu'un à une idée???
Merci

Voici un exemple de code qui fonctionne pour
l'evenement "DocumentChange" mais par
pour "MailMergeDataSourceLoad", malgre une fusion avec le
document actif.


Modules: NewMacros

Option Explicit
Dim WordAppClass As New Classe1

Public Sub AutoExec()

Set WordAppClass.WordApp = Word.Application

End Sub


Modules de classe: Classe1

Option Explicit
Public WithEvents WordApp As Word.Application

Private Sub WordApp_DocumentChange()

If Application.Documents.Count >= 1 Then
MsgBox ("Docment Change")
Else
MsgBox ("Document Close")
End If
ThisDocument.Saved = True

End Sub

Private Sub WordApp_MailMergeDataSourceLoad(ByVal Doc As
Document)

MsgBox ("Merge Data Load")

End Sub


La note suivante est une présentation des évènements de publipostage
http://support.microsoft.com/default.aspx?scid=KB;EN-US;285333


--
Bonne journée
=================================================== Hervé Branchu, Sitel France pour l'Assistance Utilisateur Microsoft