Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-是否停止运行由Shell启动的程序?_Excel_Vba - Fatal编程技术网

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

Excel VBA-是否停止运行由Shell启动的程序?,excel,vba,Excel,Vba,excel2002vba 我有一个宏,只要满足某个条件,它就会启动外部脚本: Shell("c:\program\script.exe") 当条件不满足时,如何停止正在运行的程序?既然Shell返回您启动的进程的进程ID,您可以尝试使用带有该procedd ID的pskill来停止它: dim pid pid = Shell("c:\program\script.exe") '...Do something Shell "pskill " & pid 外壳参考: 这也将关闭应用程序:

excel2002vba

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

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

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

既然Shell返回您启动的进程的进程ID,您可以尝试使用带有该procedd ID的pskill来停止它:

dim pid
pid = Shell("c:\program\script.exe")
'...Do something
Shell "pskill " & pid
外壳参考:
这也将关闭应用程序:

TaskKill = CreateObject("WScript.Shell").Run("taskkill /f /im " & "script.exe", 0, True)
它可以转换为可重用的功能,如下所示:

Function TaskKill(sTaskName)
   TaskKill = CreateObject("WScript.Shell").Run("taskkill /f /im " & sTaskName, 0, True)
End Function