我从一位已经退休的老同事那里得到了一个 VBA 项目,他对此感到绝望。
该项目本身有效,但我必须更改一个功能:
Documents.Add Template:= _
"c:\word\Link.dot", _
NewTemplate:=False, DocumentType:=0
这里使用模板创建了一个新文档(另一个 Word 文件)。问题是这个模板还涉及来自另一个项目“Common”的数据。基本上,Link.dot 中的 "Documents.Add Template:= _"c:\word\Link.dot"" 会执行 Document_Open() 并初始化 Common 项目。
Private Sub Document_Open()
Common.Initialize
End Sub
问题是我不希望 Documents.add 打开第二个文档,它应该使用已经处于活动状态的文档,而不是第二个。
我已经尝试过这两种变体:
#1
Dim oDoc As Document
Set oDoc = ActiveDocument
oDoc.AttachedTemplate = "c:\word\Link.dot"
#2
ActiveDocument.AttachedTemplate = "c:\word\Link.dot"
不幸的是,他们两个都没有发生任何事情,甚至没有 RuntimeError。我认为这是因为 Document_Open() 没有被执行。也许我走错了路......
有人有建议吗?