Compartilhar via


Evento Application.MailMergeBeforeRecordMerge (Publisher)

Ocorre à medida que é executada uma mesclagem dos registros individuais de uma mala direta.

Sintaxe

expressão. MailMergeBeforeRecordMerge (Doc, Cancel)

expressão Uma variável que representa um Aplicativo objeto.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Doc Obrigatório Document O documento principal de mala direta.
Cancel Obrigatório Boolean Interrompe o processo de mala direta do registro atual somente antes de começar.

Comentários

Para acessar os eventos do objeto Application , declare uma variável de objeto Application na seção Declarações Gerais de um módulo de código e defina a variável igual ao objeto Application para o qual você deseja acessar eventos.

Para obter informações sobre como usar eventos com o objeto Aplicativo do Microsoft Publisher, consulte Usando eventos com o objeto Application.

Exemplo

Este exemplo verifica se o comprimento do CEP (que neste exemplo é o campo número seis) é menor que cinco e, se for, cancela a mesclagem somente para esse registro.

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

Para este evento ocorrer, você precisa colocar a seguinte linha de código na seção declarações globais de seu módulo e executar a seguinte rotina de inicialização.

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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.