【发布时间】:2014-02-21 10:58:21
【问题描述】:
我们有一个运行 MS Word(隐藏)来打印文档的应用程序。
如果其中一台打印机出现问题,Word 会在等待后台处理程序返回“排队”消息时挂起。
我们发现,如果我们让 Word 可见(例如,通过在 Excel 中使用 VBA 和 GetObject 和 oWordApp.visible=true),那么该过程会继续打印其他文档而没有问题。
我们希望通过 VBScript 检查正在运行的进程中的 Word 来使其更加自动化,如果找到,则使其可见,等待几秒钟,将其隐藏,然后退出...
但我有一个问题,即 VBScript GetObject 函数在 Word 尚未运行时将其实例化。
我应该如何在不创建实例的情况下使用 VBScript 来检查 word 是否正在运行?
这是我的 VBScript 文件中的代码:
dim oWord, WScriptShell
set oWord = getobject("", "Word.Application")
set WScriptShell = CreateObject("WScript.Shell")
if isobject(oWord) then 'and oWord.Documents.count>0
wscript.echo("Word is running")
oWord.visible=true
WScript.Sleep 1000
oWord.visible=false
else
wscript.echo("Word not running")
end if
那么我应该使用什么来检查 word 是否正在运行而不创建它的实例?
【问题讨论】: