【发布时间】:2014-04-18 13:10:44
【问题描述】:
我有一份带有 Excel 前端的报告(继承文件)。有多个按钮调用 VBA 代码,然后调用 SQL 查询、存储过程或 R 脚本文件(以 rcmd 批处理/shell 的形式,传递一些参数等)
R 脚本一个接一个地从 VBA 调用。所有这些都需要一些未指定的时间来完成。
VBA 中有应用程序/等待时间来“确保”在启动下一步之前完成 R 脚本。
这并不总是有效(取决于数据大小等)。
有没有办法将 / 代码放在 R 脚本的末尾以通知 VBA 是时候继续了?
或者让 VBA 检查特定的 R 脚本是否仍在运行?
【问题讨论】:
-
为什么不从 VBA 调用 R 脚本?
-
您好,目前是从 VBA 调用的。但是当你一个接一个地调用更多的脚本(并且它们都需要一些未指定的时间来完成)时,你如何确保它?目前使用 VBA 中的等待时间,当脚本由于某种原因运行时间较长时,有时会失败。例如: call Rscript 1 --runs 可能需要 4-5 分钟 call Rscript2 Rscript2 应该只在第一个完成后运行,有没有办法以自动化的方式确保?谢谢你也对不起我的英语,不是我的母语。
-
您可以等待每个脚本完成。见excel vba wait for shell command to complete
-
看起来很有帮助/有用我会测试它,谢谢你!