Private Sub object_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean)
object A variable which references an object of type Application declared with events in a class module.
Doc Required. The mail merge main document.
Cancel Optional. True stops the mail merge process for the current record only before it starts.
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 verifies that the length of the ZIP code (which in this example is field number six) is less than five and if it is, cancels the merge for that record only.
Private Sub MailMergeApp_MailMergeBeforeRecordMerge(ByVal _
Doc As Document, Cancel As Boolean)
Dim intZipLength As Integer
intZipLength = Len(ActiveDocument.MailMerge _
.DataSource.DataFields(6).Value)
'Cancel merge of this record only if
'the ZIP code is less than five digits
If intZipLength < 5 Then
Cancel = True
End If
End Sub
For this event to occur, you must place the following line of code in the global declarations section of your module and run the following initialization routine.
Private WithEvents MailMergeApp As Application
Sub InitializeMailMergeApp()
Set MailMergeApp = Publisher.Application
End Sub