【发布时间】:2010-07-22 10:19:16
【问题描述】:
我希望我的 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 等待脚本完成?有没有人建议如何将脚本的错误消息返回给 Access?
【问题讨论】:
-
谢谢。我对使用低级 kernel32 代码有点不情愿,但也许我应该试一试。那么将来自外部程序/脚本的消息返回给调用访问代码呢?
-
我的意思是 PHV 的建议,其中 wit on return 设置为 true:msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx
-
也许您可以将输出重定向到可以读取的文件? microsoft.com/resources/documentation/windows/xp/all/proddocs/…
-
再次感谢。是的,重定向到一个文件并读取该文件将是最好的(唯一的?)方式。我想知道是否有类似 API 的方式。所以。
标签: ms-access vba r ms-access-2007