Événement Application.MailMergeDataSourceValidate (Publisher)
Se produit lorsqu’un utilisateur effectue la vérification d’adresse en choisissant Valider dans la boîte de dialogue Destinataires de fusion et publipostage .
Syntaxe
expression. MailMergeDataSourceValidate (Doc, Handled)
expressionUne variable qui représente un objetApplication.
Paramètres
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Doc | Obligatoire | Document | Document principal de publipostage. |
Handled | Obligatoire | Booléen | La valeur True, le code de validation joint s'exécute par rapport à la source de données de fusion et publipostage. La valeur False annule la validation de source de données. |
Remarques
Si vous n’avez pas de logiciel de vérification d’adresse installé sur votre ordinateur, utilisez l’événement MailMergeDataSourceValidate pour créer des routines de filtrage simples, telles que l’exécution d’enregistrements en boucle pour vérifier les codes postaux et supprimer celles qui ne sont pas américaines. Les utilisateurs non américains peuvent filtrer tous les codes postaux américains en modifiant l’exemple de code suivant et en utilisant les commandes Microsoft Visual Basic pour rechercher du texte ou des caractères spéciaux.
Pour accéder aux événements de l’objet Application , déclarez une variable objet Application dans la section Déclarations générales d’un module de code, puis définissez la variable sur l’objet Application pour lequel vous souhaitez accéder aux événements.
Pour plus d’informations sur l’utilisation d’événements avec l’objet Application Microsoft Publisher, consultez Utilisation d’événements avec l’objet Application.
Exemple
Cet exemple valide les codes postaux à cinq chiffres dans la source de données jointe. Si le code postal comprend moins de cinq chiffres, l'enregistrement est exclu de l'opération de fusion et publipostage. Cet exemple suppose que les codes postaux sont des codes postaux américains. Vous pouvez modifier cet exemple pour rechercher des codes postaux qui ont un code de localisateur à quatre chiffres ajouté au code postal, puis exclure tous les enregistrements qui ne contiennent pas le code de localisateur.
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
Pour que cet événement se produise, vous devez placer la ligne de code suivante dans la section Général - Déclarations de votre module et exécuter la routine d'initialisation suivante.
Private WithEvents MailMergeApp As Application
Sub InitializeMailMergeApp()
Set MailMergeApp = Publisher.Application
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour