Application.MailMergeDataSourceValidate-Ereignis (Publisher)
Tritt auf, wenn ein Benutzer die Adressüberprüfung durchführt, indem er im Dialogfeld Seriendruckempfänger die Option Überprüfen auswählt.
Syntax
Ausdruck. MailMergeDataSourceValidate (Doc, Handled)
expression Eine Variable, die ein Application-Objekt darstellt.
Parameter
Name | Erforderlich/Optional | Datentyp | Beschreibung |
---|---|---|---|
Doc | Erforderlich | Document | Das Seriendruck-Hauptdokument. |
Handled | Erforderlich | Boolean | True, wird den zugehörige Validierungscode für die Seriendruck-Datenquelle ausgeführt. False bricht die Überprüfung der Datenquelle ab. |
HinwBemerkungeneise
Wenn Sie keine Adressüberprüfungssoftware auf Ihrem Computer installiert haben, verwenden Sie das MailMergeDataSourceValidate-Ereignis , um einfache Filterroutinen zu erstellen, z. B. das Durchlaufen von Datensätzen, um die Postleitzahlen zu überprüfen, und entfernen Sie alle, die nicht zu den USA gehören. Nicht-US-Benutzer können alle US-Postleitzahlen herausfiltern, indem sie das folgende Codebeispiel ändern und Microsoft Visual Basic-Befehle verwenden, um nach Text oder Sonderzeichen zu suchen.
Um auf die Application-Objektereignisse zuzugreifen, deklarieren Sie eine Application-Objektvariable im Abschnitt Allgemeine Deklarationen eines Codemoduls, und legen Sie dann die Variable auf das Application-Objekt fest, für das Sie auf Ereignisse zugreifen möchten.
Informationen zur Verwendung von Ereignissen mit dem Microsoft Publisher-Anwendungsobjekt finden Sie unter Verwenden von Ereignissen mit dem Application-Objekt.
Beispiel
In diesem Beispiel werden Postleitzahlen in der verknüpften Datenquelle auf fünf Ziffern überprüft. Wenn die Länge der Postleitzahl weniger als fünf Ziffern beträgt, wird der Datensatz vom Seriendruckvorgang ausgeschlossen. In diesem Beispiel wird davon ausgegangen, dass es sich bei den Postleitzahlen um US-Postleitzahlen handelt. Sie können dieses Beispiel ändern, um nach Postleitzahlen zu suchen, deren vierstelliger Locatorcode an die Postleitzahl angefügt ist, und dann alle Datensätze ausschließen, die den Locatorcode nicht enthalten.
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
Damit dieses Ereignis eintritt, müssen Sie folgende Codezeile im allgemeinen Deklarationsbereich des Moduls platzieren und folgende Initialisierungsroutine ausführen:
Private WithEvents MailMergeApp As Application
Sub InitializeMailMergeApp()
Set MailMergeApp = Publisher.Application
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Feedback senden und anzeigen für