这很奇怪 - 我发誓,我只是使用此代码成功,但不是它不工作:计数(和激活)打开Word文档
Sub t()
Dim wdApp As Object
Set wdApp = GetObject(, "Word.Application")
Debug.Print wdApp.Documents.Count
End Sub
从Excel中,它应该只是知道有一个Word文档打开并返回1
。但是,出于某种原因我得到0
。我也试过Set wdApp = CreateObject("Word.Application").
我可以忽略什么?没有错误抛出,它只是没有显示我打开了一个文档。
(注:我想到这个主意来自this thread,因为我想复制一个Excel范围并粘贴到Word文档)
我会检查你的任务管理器,看看你是否有一个僵尸Word进程运行。 – Comintern
@Comintern - Ooooooh,我有五个“WINWORD.EXE”正在运行。这只适用于一个?编辑:是的,当我关闭所有四个僵尸并且只打开一个僵尸时它就起作用。感谢十亿,这是一个(幸好)简单的修复。如果你想做出答案,我会标记它。干杯!! – BruceWayne
为了您的特定目的,是的。 'GetObject'只能返回一个应用程序对象,所以它看起来像没有打开文档就会得到一个。如果有多个实例在运行,我不确定选择哪一个。 – Comintern