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.