返回介绍

MailMergeDataSourceValidate 事件

发布于 2019-09-29 10:21:59 字数 2421 浏览 996 评论 0 收藏 0

全部显示

当用户通过单击“邮件合并收件人”对话框中的“验证有效性”执行地址验证时,该事件发生。

Private Sub object_MailMergeDataSourceValidate(ByVal Doc As Document, Handled As Boolean)

object 在类模块事件中声明的 Application 类型对象。有关使用 Application 对象事件的详细信息,请参阅使用 Application 对象事件。

Doc 邮件合并主文档。

Handled 如果该参数值为 True,则对邮件合并数据源运行伴随的验证代码。如果该参数值为 False,则取消数据源验证。

说明

如果未在计算机上安装地址验证软件,MailMergeDataSourceValidate 事件允许您创建简单的筛选例程,例如循环查找记录以检查邮政编码,并删除任何非美国的邮政编码。美国以外的用户可以通过更改以下代码示例和使用 Microsoft Visual Basic 命令搜索文本或特殊字符,筛选出所有的美国邮政编码。

示例

该示例显示一条消息,询问是否验证数据源中的地址。该示例假定邮政编码为美国邮政编码,并且在一般声明中声明了一个名为 MailMergeApp 的应用程序变量,并将 Word Application 对象赋给该变量。(您可以更改该示例,以筛选国际邮政编码或其他具有附加的 4 位数字定位代码的邮政编码)

Private Sub MailMergeApp_MailMergeDataSourceValidate(ByVal Doc As Document, _
        Handled As Boolean)

    Dim intCount As Integer

    Handled = True

    On Error Resume Next

    With Doc.MailMerge.DataSource

        'Set the active record equal to the first record in the data source
        .ActiveRecord = wdFirstRecord
        Do
            intCount = intCount + 1

            'Set the condition that field six must be greater than or
            'equal to five
            If Len(.DataFields(6).Value) < 5 Then

                'Exclude the record if field six is less 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 is " _
                    & "less 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 = wdNextRecord

        'End the loop when the counter variable
        'equals the number of records in the data source
        Loop Until intCount = .RecordCount
    End With

End Sub

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文