如何检查Windows中的vba脚本是否正在运行?

时间:2016-08-23 09:07:04

标签: vba excel-vba vbscript excel

我有时会运行一些vbs / vba脚本。但我不希望下一个vbscript继续进行,而另一个vba-或vbscript正在运行。确定另一个vbscript是否正在运行并延迟执行当前的vbscript是没有问题的:

Set objSWbemServices = GetObject ("WinMgmts:Root\Cimv2") 
Set colProcess = objSWbemServices.ExecQuery _ 
("Select * From Win32_Process where name = 'wscript.exe'")
Do While colProcess.Count > 1
    WScript.Sleep 10000
    Set colProcess = objSWbemServices.ExecQuery _ 
    ("Select * From Win32_Process where name = 'wscript.exe'")
Loop

但是我找不到在Excel中运行的特定vba脚本进程。如果vba脚本正在运行,如何检查vbscript?

1 个答案:

答案 0 :(得分:1)

我认为这是不可能的,据我所知,Excel中的VBA不是作为Windows操作系统中的单独进程执行的。

但是,通过将CommandLine中的Win32_Process列与特定脚本名称相匹配,可以找到vbscript的WSH / WScript / CScript进程。