macros从Excel数据运行Word邮件合并

我有一些VBA代码,理论上应该拿起活动的工作簿,并使用数据来打开一个Word文档,并保持打开邮件合并文档准备审查/保存。

它曾经工作过一次,但现在它不是拿起打开的电子表格,而是打开一个“select表格”窗口,其中唯一的select是没有数据的XLSTART.xls电子表格。 它然而,打开我想要使用正确的Word文档。

是否有可能build议我需要做的修改代码,以便它拿起积极的工作簿?

Sub Mailmerge() Dim wd As Object Dim wdocSource As Object Application.DisplayAlerts = False ' Word constants Const wdFormLetters = 0, wdOpenFormatAuto = 0 Const wdSendToNewDocument = 0, wdDefaultFirstRecord = 1, wdDefaultLastRecord = -16 Dim strWorkbookName As String On Error Resume Next Set wd = GetObject(, "Word.Application") If wd Is Nothing Then Set wd = CreateObject("Word.Application") End If On Error GoTo 0 Set wdocSource = wd.Documents.Open("File Name for Mail Merge doc, this bit works when not redacted!") strWorkbookName = ThisWorkbook.Path & "\" & ThisWorkbook.Name wdocSource.Mailmerge.MainDocumentType = wdFormLetters wdocSource.Mailmerge.OpenDataSource _ Name:=strWorkbookName, _ AddToRecentFiles:=True, _ Revert:=False, _ Format:=wdOpenFormatAuto, _ Connection:="Data Source=" & strWorkbookName & ";Mode=Read", _ SQLStatement:="SELECT * FROM `Sheet2$`" With wdocSource.Mailmerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = wdDefaultFirstRecord .LastRecord = wdDefaultLastRecord End With .Execute Pause:=False End With wd.Visible = True wdocSource.Close SaveChanges:=False Set wdocSource = Nothing Set wd = Nothing End Sub