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

时间:2011-05-11 17:43:28

标签: shell vba smtp

我正在通过以下程序发送电子邮件:

Call Shell(smtpPath, emailInput...)

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

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

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

1 个答案:

答案 0 :(得分:6)

您可以使用WScript.Shell,它是run方法:

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