[英]Saving a Word File from Mailmerge with Data Base Field Name as the File Name
我希望能夠將活動文件及其文件名從數據庫字段“ First_Name”和數據庫字段“ Last_Name”派生到Word 2010 MailMerge中,並保存到子文件夾中,該子文件夾為硬編碼子文件夾。
我收到一個錯誤, "requested member of the collection does not exist"
。
我知道當您嘗試訪問不存在的對象時會發生此錯誤。 數據庫字段是First_Name,如果代碼正在搜索FirstName的數據庫字段,則我也嘗試過First Name。 這是我嘗試過的:
Sub SavingIndividuallyByCustomerName()
Dim firstname As String
Dim lastname As String
firstname = ActiveDocument.FormFields("First_Name").Result
lastname = ActiveDocument.FormFields("Last_Name").Result
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
End With
.Execute Pause:=False
End With
ChangeFileOpenDirectory "C:\folder\subfolder\subsubfolder\"
ActiveDocument.SaveAs2 FileName:= _
"C:\folder\subfolder\subsubfolder\" & firstname & lastname & ".docx"
End Sub
當我用硬編碼名稱時
firstname = "John"
lastname = "Doe"
我沒有其他錯誤,活動文件已保存。
我也嘗試使用沒有成功:
Dim firstname As Field
Dim lastname As Field
代替
firstname = ActiveDocument.FormFields("First_Name").Result
lastname = ActiveDocument.FormFields("Last_Name").Result
你需要
firstname = ActiveDocument.MailMerge.DataSource.DataFields("First_Name").Value
lastname = ActiveDocument.MailMerge.DataSource.DataFields("Last_Name").Value
引號中的名稱區分大小寫(在Windows編程中不常見)。 它必須與Word實際使用的名稱匹配,該名稱可能與數據源中的名稱不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.