自 MS Word 2007 以来,文档的打开方式似乎有所改变。在旧版本中,每个文档都可以在完全独立的 Word 窗口中打开。现在,所有文档似乎都在一个进程中打开,而这并不是目前所期望的行为。
我尝试打开邮件合并文档的多个副本(所有副本位于不同的文件夹中,并且名称不同),以加快创建大约 10,000 个收件人的信件的过程。这些文档是使用 VBA 自动创建和打印的。
在旧版 Word 中,我只需启动应用程序的另一个实例,然后打开文档,即可在 Word 的独立进程中打开每个文档。每个 Word 进程互不干扰,因此它们都可以同时工作。
现在我找不到单独运行它们的方法。如果我在其中一个中执行 Apllication.Visible = False,则所有文档都会变得不可见。我无法启动多个宏,因为无法在同一个 Word 实例中运行多个宏。
有人知道我该如何解决这个问题吗?
答案1
如果您正在打开文档,比如在资源管理器中双击,则您正在使用同一个 Word 实例。
我相信你被引导去相信 Word 存在单独的实例。
- 单击“文件”选项卡,然后单击“选项”。
- 单击“高级”。
- 向下滚动到显示部分
您是否勾选了“在任务栏中显示所有窗口”?
无论如何尝试使用 CreateObject("word.Application") 的代码
在 Word 2010 中测试。
Sub SecondWordInstance()
Dim wordApp As Word.Application
Set wordApp = CreateObject("word.Application")
wordApp.Visible = True
MsgBox " Second Word instance should be visible. " & _
"Click on the new Word button in the taskabr. " & _
"Try a macro. Do not click OK yet."
wordApp.Visible = False
MsgBox " Second Word instance should be hidden."
wordApp.Visible = True
wordApp.Quit
MsgBox " Second Word instance should have quit"
exitRoutine:
Set wordApp = Nothing
End Sub