Поделиться через


Событие Application.MailMergeBeforeRecordMerge (Publisher)

Происходит при слиянии для отдельных записей в слиянии.

Синтаксис

expression. MailMergeBeforeRecordMerge (Doc, Cancel)

выражение: переменная, представляющая объект Application.

Параметры

Имя Обязательный или необязательный Тип данных Описание
Док Обязательный Документ Основной документ слияния.
Отмена Обязательный Boolean Останавливает процесс слияния(только для текущей записи) перед его запуском.

Замечания

Чтобы получить доступ к событиям объекта Application , объявите переменную объекта Application в разделе Общие объявления модуля кода, а затем задайте переменную, равную объекту Application , для которого требуется получить доступ к событиям.

Сведения об использовании событий с объектом Microsoft Publisher Application см. в разделе Использование событий с объектом Application.

Пример

В этом примере проверяется, что длина почтового индекса (который в данном примере является шестерким) меньше пяти, и, если это так, слияние отменяется только для этой записи.

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 has fewer than five digits 
 If intZipLength < 5 Then 
 Cancel = True 
 End If 
 
End Sub

Чтобы это событие произошло, необходимо поместить следующую строку кода в раздел глобальных объявлений модуля и выполнить следующую подпрограмму инициализации.

Private WithEvents MailMergeApp As Application 
 
Sub InitializeMailMergeApp() 
 Set MailMergeApp = Publisher.Application 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.