MailMergeDataSourceLoad Event

Microsoft Publisher Visual Basic

Private Sub object_MailMergeDataSourceLoad(ByVal Doc As Document)

object    A variable which references an object of type Application declared with events in a class module.

Doc Required. The mail merge main document.

Remarks

To access the Application object events, declare an Application object variable in the General Declarations section of a code module. Then set the variable equal to the Application object for which you want to access events. For information about using events with the Publisher Application object, see Using Events with the Application Object.

Example

This example displays a message with the data source file name when the data source starts loading.

Private Sub MailMergeApp_MailMergeDataSourceLoad(ByVal Doc As Document)
    Dim strDSName As String
    Dim intDSLength As Integer
    Dim intDSStart As Integer

    'Pull out of the Name property (which includes path and filename)
    'only the filename using VB commands Len, InStrRev, and Right
    intDSLength = Len(ActiveDocument.MailMerge.DataSource.Name)
    intDSStart = InStrRev(ActiveDocument.MailMerge.DataSource.Name, "\")
    intDSStart = intDSLength - intDSStart
    strDSName = Right(ActiveDocument.MailMerge.DataSource.Name, intDSStart)

    'Deliver a message to user when data source is loading
    MsgBox "Your data source, " & strDSName & ", is now loading."
End Sub
		

For this event to occur, you must place the following line of code in the General Declarations section of your module and run the following initialization routine.

Private WithEvents MailMergeApp As Application

Sub InitializeMailMergeApp()
    Set MailMergeApp = Publisher.Application
End Sub