您好我对这个VBA编程很新,我非常感谢您的帮助。我想要做的就是将邮件合并文档保存到模板中。
我正在使用 ActiveDocument.AttachedTemplate 属性,这似乎不起作用。 下面的代码片段。请帮忙。我能够正确地邮寄文件。
ActiveDocument.AttachedTemplate = "C:\Users\xx\Dev\Letterhead.docx"
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
.LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord
End With
.Execute Pause:=False
答案 0 :(得分:0)
如果您的意思是“另存为Word模板”,并且您的意思是真正的Word模板(.dotx或.dotm),那么.Execute之后您需要的是以下内容。如果你的意思是其他的,请澄清你的问题。
ActiveDocument.SaveAs2 "the full path name of the .dotx", wdSaveFormat.wdFormatXMLTemplate
或
ActiveDocument.SaveAs2 "the full path name of the .dotm", wdSaveFormat.wdFormatXMLTemplateMacroEnabled
如果您的意思是“另存为.docx”,那么它将是
ActiveDocument.SaveAs2 "the full path name of the .docx", wdSaveFormat.wdFormatXMLDocument
您可能会惊讶于它使用ActiveDocument,但事实是当合并完成后,Output文档将成为ActiveDocument。因此,在合并之前引用ActiveDocument通常是个好主意,例如
Dim mmmd As Word.Document
Set mmmd = ActiveDocument
With mmmd.MailMerge
'...
.Execute Pause:=False
' At this point you can use the mmmd object reference
' to do something to the mail merge main Document,
' and ActiveDocument to manipulate the output
End With
Set mmmd = Nothing