Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Ocorre quando um utilizador efetua a verificação de endereço ao selecionar Validar na caixa de diálogo Destinatários da Impressão em Série.
Sintaxe
expressão. MailMergeDataSourceValidate (Doc, Processado)
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. |
| Handled | Obrigatório | Boolean | True executa o código de validação acompanha contra a fonte de dados de mala direta. False cancela a validação de fonte de dados. |
Comentários
Se não tiver o software de verificação de endereços instalado no seu computador, utilize o evento MailMergeDataSourceValidate para criar rotinas de filtragem simples, como percorrer os registos para marcar os códigos postais e remover quaisquer que não sejam dos EUA. Os utilizadores não americanos podem filtrar todos os códigos postais dos EUA ao modificar o seguinte exemplo de código e ao utilizar comandos do Microsoft Visual Basic para procurar texto ou carateres especiais.
Para aceder aos eventos de objeto da Aplicação , declare uma variável de objeto Aplicação na secção Declarações Gerais de um módulo de código e, em seguida, defina a variável igual ao objeto Aplicação para o qual pretende aceder a eventos.
Para obter informações sobre como utilizar eventos com o objeto Aplicação do Microsoft Publisher, veja Utilizar eventos com o objeto Aplicação.
Exemplo
Este exemplo valida códigos de CEP na fonte de dados vinculada de cinco dígitos. Se o tamanho do CEP tiver menos que cinco dígitos, o registro será excluído do processo de mala direta. Este exemplo pressupõe que os códigos postais são códigos U.S. ZIP. Pode modificar este exemplo para procurar Códigos Postais que tenham um código de localizador de quatro dígitos anexado ao Código Postal e, em seguida, excluir todos os registos que não contenham o código do localizador.
Private Sub MailMergeApp_MailMergeDataSourceValidate( _
ByVal Doc As Document, _
Handled As Boolean)
Dim intCount As Integer
Handled = True
On Error Resume Next
With ActiveDocument.MailMerge.DataSource
'Set the active record equal to the first included record in the
'data source
.ActiveRecord = 1
Do
intCount = intCount + 1
'Set the condition that field six must be greater than or
'equal to five
If Len(.DataFields.Item(6).Value) < 5 Then
'Exclude the record if field six is shorter than five digits
.Included = False
'Mark the record as containing an invalid address field
.InvalidAddress = True
'Specify the comment attached to the record explaining
'why the record was excluded from the mail merge
.InvalidComments = "The ZIP Code for this record has " _
& "fewer than five digits. It will be removed " _
& "from the mail merge process."
End If
'Move the record to the next record in the data source
.ActiveRecord = .ActiveRecord + 1
'End the loop when the counter variable
'equals the number of records in the data source
Loop Until intCount = .RecordCount
End With
End Sub
Para que este evento ocorra, você precisa colocar a seguinte linha de código na seção Declaração Geral do 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.