我希望VB/VBA专家可以帮助我.请考虑以下事项:用户在Word 2003中打开文档,在Normal.dot AutoOpen宏中,我们查看当前文档,如果已通过单击网页上的链接打开它,并满足某些其他应用程序特定条件,关闭流式"复制"并打开源文档(在共享驱动器上找到我们可以假设用户有权访问):
Documents.Open origDoc
Documents(ActiveDocument.FullName).Close SaveChanges:=wdDoNotSaveChanges
Documents(origDoc).Activate
With ActiveDocument
''# Do work
End With
Run Code Online (Sandbox Code Playgroud)
我的想法是我需要打电话Activate以确保原始文件是ActiveDocument,但我在电话中收到4160'错误的文件名'错误.Activate.如果我注释掉调用.Activate,它似乎ActiveDocument设置为origDoc文档,即使已经打开了其他文档(我不确定如何管理文档集合,以及Word如何确定下一步ActiveDocument将是什么如果你以编程方式关闭当前的ActiveDocument)
那么,调用.Open文档是否明确将Document设置为ActiveDocument?另外,调用.Activate已经存在的文档会导致错误吗?
我真的没有找到很多关于此的文档,所以提前感谢任何建议和见解!