如何以编程方式等待Shell命令完成运行?

soo*_*ise 6 shell vba smtp

我在这样的程序中发送电子邮件:

Call Shell(smtpPath, emailInput...)
Run Code Online (Sandbox Code Playgroud)

这很好用,除非我调用该函数两次,该函数第一次运行,调用shell命令,然后该函数再次运行,再次调用shell命令,但是第一个shell命令没有完成,所以有一个错误,因为第二个shell命令尝试使用与第一个相同的smtp文件(仍在使用中).

如何让函数等到shell命令运行完毕?

附录:或者有没有办法让我看到文件是否被使用,如果是,请睡觉,然后再试一次?

And*_*ahl 6

你可以使用WScript.Shell,它的运行方法:

Set objShell = CreateObject("WScript.Shell")
result = objShell.Run(smtpPath & " " & emailInput, 0, true)
Run Code Online (Sandbox Code Playgroud)