Application.MailMergeBeforeRecordMerge Event (Word)

Office 2013 and later
GitHub-Mark-64px

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

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

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

Doc

Required

Document

The mail merge main document.

Cancel

Required

Boolean

True stops the mail merge process, for the current record only, before it starts.

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 Word Application object.

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
Show:
© 2016 Microsoft