Excel 2002 VBA.
У меня есть макрос, который запускает внешний скрипт всякий раз, когда выполняется определенное условие:
Shell("c:\program\script.exe")
Как остановить запущенную программу, если условие не выполняется?
Поскольку Shell возвращает идентификатор процесса, который вы запустили, вы можете попробовать использовать pskill с этим идентификатором процедуры, чтобы остановить его:
dim pid pid = Shell("c:\program\script.exe") '...Do something Shell "pskill " & pid
Ссылка на оболочку: https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/shell-function