MailMerge应用程序事件中访问通过打开启用宏的模板创建的Document
对象的最佳方法是什么?
更具体地说,我正在为支持宏的模板 Template.dotm 编写代码。打开该模板后,它会创建一个新文档,通常称为 Document1 ,并引用 Template.dotm 。
这里是 Template.dotm 的ThisDocument
模块。
Dim objEventHandler As clsEventHandler
Private Sub Document_New()
Set objEventHandler = New clsEventHandler
Set objEventHandler.AppWithEvents = Word.Application
End Sub
Private Sub Document_Close()
Set objEventHandler = Nothing
End Sub
这是我的事件处理程序类。
Public WithEvents AppWithEvents As Word.Application
Private Sub AppWithEvents_MailMergeBeforeRecordMerge(ByVal Doc As Document, Cancel As Boolean)
'code needs to reference "Document1"
End Sub
在MailMergeBeforeRecordMerge
程序中,我想访问 Document1 。 This question接近解决这个问题,但并不完全正确。
什么不起作用:
ThisDocument
指 Template.dotm 。ActiveDocument
指的是mailmerge结果文件。ActiveDocument.AttachedTemplate
可能是要走的路,但我还没弄清楚如何从Document
对象中解析Template
对象。很多,非常感谢你的任何建议。