我希望我的Access应用程序在用户单击按钮后运行一个外部程序(在本例中是一个R脚本)。我使用以下代码:
Dim RetVal
RetVal = Shell("""C:\Program Files\R\R-2.10.1\bin\R.exe"" CMD BATCH --no-environ --silent --no-restore --no-save ""c:\test.R"" ""c:\test-result.txt""", vbHide)
MsgBox RetVal这可以很好地工作,但是在我的脚本执行期间,VBA代码会继续运行。如何让访问等待脚本完成?有没有人建议如何给Access返回脚本的错误消息?
发布于 2010-07-22 21:45:09
@Remou链接到的OpenProcess和WaitForSingleObject组合可能是你做到这一点的最佳选择。你应该看看this,它是一个用于外壳和等待的很好的模块。
为了从脚本返回消息,您可以使用redirecting the scripts input and output。这不是为胆小的人准备的。作为另一种选择,我可以使用redirect the output of the script to a text file,然后在该文件退出后读取它。
https://stackoverflow.com/questions/3307800
复制相似问题