Excel VBA - 停止运行由壳牌启动的程序?

Joh*_*n M 3 excel vba

Excel 2002 VBA。

我有一个宏,可以在满足特定条件时启动外部脚本:

Shell("c:\program\script.exe")
Run Code Online (Sandbox Code Playgroud)

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

Igo*_*aka 5

由于 Shell 会返回您启动的进程的进程 ID,您可以尝试使用 pskill 和该 procedd ID 来停止它:

dim pid
pid = Shell("c:\program\script.exe")
'...Do something
Shell "pskill " & pid
Run Code Online (Sandbox Code Playgroud)

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