Excel VBA - 停止运行Shell启动的程序?

时间:2009-11-25 21:25:42

标签: excel excel-vba vba

Excel 2002 VBA。

我有一个宏,只要满足某个条件就会启动外部脚本:

Shell("c:\program\script.exe")

如果不满足条件,如何停止正在运行的程序?

2 个答案:

答案 0 :(得分:4)

由于Shell返回您启动的进程的进程ID,您可以尝试使用带有该进程ID的pskill来阻止它:

dim pid
pid = Shell("c:\program\script.exe")
'...Do something
Shell "pskill " & pid

Shell参考: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/shell-function

答案 1 :(得分:1)

这还将关闭应用程序:

[100]
secret=blah
type=blah
dial=blah
external=200100100

[104]
secret=blah
type=blah
dial=blah
external=200100104

可以将其转换为可重复使用的函数,如下所示:

TaskKill = CreateObject("WScript.Shell").Run("taskkill /f /im " & "script.exe", 0, True)