【发布时间】: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