2012-06-17 47 views
0

我正在使用VBSCRIPT打开MS Word文档。我想知道它是否已经打开(即使不活动),如果是这样,请避免再次打开它。检查Winword没有用 - 用户可能会打开其他文档文档。查看Word文档是否打开

我试过tasklist /V /FI "IMAGENAME eq WINWORD.EXE"但这只返回当前活动的Word窗口的Document(WindowTitle)的名称。

我也看了

Set objWMIService = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set colProcessList = objWMIService.ExecQuery _ 
("Select * from Win32_Process") 

但这并不给出任何有用的信息。

我真的想要一个应用程序列表,如在任务管理器,但它会显示我所有打开的Word文档。

回答

0

GetObject不适合吗?

Set doc = GetObject("Z:\Docs\Doc.doc") 
doc.Application.Visible = True 

如果文档已经打开,它会劫持它。如果它关闭,它将在一个新的Word实例中打开它。

+0

这不适用于说PDF文件 –

+2

@ANTHONYGINSBERG您的标签说MS Word。你想确定任何类型的文件是否打开?如果是这样,最好调整你的标签和问题。 – Fionnuala