我的代碼有一些類型的錯誤,但我不知道是什麼。這個代碼在不到一個月前爲我工作。訪問Word郵件合併 - 與最後部分的問題
我在做什麼:讓它爲數據庫中的每個地址吐出一封郵件合併信。
我的代碼的結果:取決於我檢查的地址數量,告訴它給出了填充了數據庫的FIRST和LAST條目的模板的許多精確副本。
例如:我檢查數據庫中的18個地址,並將該變量傳遞到我的導出表中。它會吐出18個Microsoft Word文件,每個Word文件都有一個填充模板的副本,第1頁填寫的第一個地址和第2頁填寫的最後一個地址。
我在做什麼錯?
Private Sub MailMerge(ClientTemplate As String)
Dim Word As Object
Dim Doc As Object
Dim Sel As Object
Dim nRows As Integer
Set Word = CreateObject("Word.Application")
Set Doc = Word.Documents.Open(ClientTemplate)
Set Sel = Word.Selection
nRows = DCount("*", "tblFinalMailMerge")
With Word
.Visible = True
.Application.Activate
'.Documents.Open (ClientTemplate)
End With
With Doc.MailMerge
.MainDocumentType = wdFormLetters
.Destination = wdSendToNewDocument
.OpenDataSource Name:=CurrentDb.Name, SQLStatement:="SELECT * FROM [tblFinalMailMerge]"
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With
For x = 1 To nRows
With Doc.MailMerge.DataSource
.ActiveRecord = x
If ActiveRecord > .LastRecord Then Exit For
End With
Word.ActiveDocument.SaveAs _
FileName:="C:\temp\test" & x & ".docx"
Next x
有人嗎?這個真的讓我感到很沮喪 - 它有wdSendToNewDocument,我不明白爲什麼它會在一個文檔中創建2個模板(第一個和最後一個)。 – user2296381