【问题标题】:Automate Word Mail Merge as HTML Email with Task Scheduler使用任务计划程序自动将 Word 邮件合并为 HTML 电子邮件
【发布时间】:2015-03-31 18:09:03
【问题描述】:

我正在尝试创建一个简单的 .vbs 文件,我可以在设定的时间使用任务计划程序自动运行该文件,该文件将打开一个 word 文档并对每个收件人执行电子邮件合并。

Word doc 已经设置了预定义的字段,并且包括数据源“重新连接”以确保源数据设置正确。

我在运行下面的代码时遇到问题,这又会打开 2 字应用程序(包含所有记录的主文件和新的 2 页字文件只有第一条和最后一条记录)。

请帮我调试这段代码,因为我开始失去理智来解决这个问题。

Dim wd As Object
Dim WDoc As Object
Dim strWorkbookName As String

On Error Resume Next
Set wd = CreateObject("Word.Application")
wd.Application.Visible = True

Set WDoc = wd.Documents.Open("C:\Users\Documents\test\test.docx")

strWorkbookName = "C:\Users\Documents\test\test_datasource.xlsx"

WDoc.MailMerge.OpenDataSource _
    Name:=strWorkbookName, _
    ConfirmConversions:=False, _
    ReadOnly:=False, _
    LinkToSource:=True, _
    AddToRecentFiles:=False, _
    Revert:=False, _
    Format:=0, _
    Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _
    SQLStatement:="SELECT * FROM `Summary$`"


With WDoc.MailMerge
    .Destination = wdSendToEmail
    .MailAddressFieldName = "Email"
    .MailSubject = "TEST - EMAIL SUBJECT"
    .SuppressBlankLines = True
    .MailAsAttachment = False
    .MailFormat = wdMailFormatHTML
    With .DataSource
        .FirstRecord = wdDefaultFirstRecord
        .LastRecord = wdDefaultLastRecord
    End With
.Execute
End With


Set wd = Nothing
Set WDoc = Nothing


End Sub

【问题讨论】:

    标签: excel vbscript ms-word scheduled-tasks mailmerge


    【解决方案1】:

    这可能就足够了:

    sub M_snb()
      with getobject("C:\Users\Documents\test\test.docx")
        with .mailmerge
          .Destination = 2
          .MailAddressFieldName = "Email"
          .MailSubject = "TEST - EMAIL SUBJECT"
          .SuppressBlankLines = True
          .MailAsAttachment = False
          .MailFormat = 1
          .execute
        end with
        .close 0
      end with
    End sub
    

    注意。在后期绑定中,不会识别 Word 常量。

    【讨论】:

    • 我去看看。我正在使用后期绑定,因为我无法访问我的 excel VBA(每次我尝试打开时都会弹出“访问系统注册表时出错”)。关于如何解决这个问题的任何线索?
    猜你喜欢
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2018-05-01
    相关资源
    最近更新 更多