Application.MailMergeBeforeRecordMerge Event

Word Developer Reference

Occurs as a merge is executed for the individual records in a merge.

Syntax

expression.Private Sub object_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean)

expression   A variable that represents an Application object that has been declared with events in a class module. For information about using events with the Application object, see Using Events with the Application Object.

Parameters

Name Required/Optional Data Type Description
Required Document The mail merge main document.
Cancel Required Boolean True stops the mail merge process, for the current record only, before it starts.

Example

This example verifies that the length of the postal code, which in this example is field number six, is fewer than five digits and, if it is, cancels the merge only for that record. This example assumes that you have declared an application variable called MailMergeApp in your general declarations and have set the variable equal to the Microsoft Office Word Application object.

Visual Basic for Applications
  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 fewer than five digits
    If intZipLength < 5 Then
        Cancel = True
    End If

End Sub

See Also