【发布时间】:2014-07-22 20:44:50
【问题描述】:
我到处寻找解决方案,但一直找不到。
我有一个批处理文件,我在其中调用一个 JavaScript 文件,该文件调用一个 Excel 宏来运行。我希望批处理文件等待宏完成,然后继续。
我使用 JavaScript 文件调用 Excel 宏,因为我不知道直接从批处理文件运行宏的方法。可能有更好的方法,但我一直找不到。
在我尝试过的 .bat 文件中:
Do some batch stuff, including iMacros
WAIT/ cscript.exe RunExcelJScript.js
Do some more batch stuff with iMacros
但在继续执行更多批处理操作之前,它不会等待宏完成。我认为这是因为 .bat 文件实际上只是在等待 .js 文件完成,而不是随后由 .js 文件打开的 Excel 宏。
我知道我可以使用超时来设置一定的等待时间,但是宏非常复杂,并且需要很长的时间来运行。
我需要一种方法:
调用 Excel 宏直接从 .bat 文件运行,这样我就可以使用 /WAIT
告诉 JavaScript 文件等到宏完成,然后创建某种标志来触发 .bat 文件继续。
.bat/.js/Macro 将每 15 分钟运行一次。
我的 .js 文件是这样的:
var objXL = WScript.CreateObject("Excel.Application");
objXL.Visible = true;
objXL.WorkBooks.Open("FilePathTo/Enrollments.xlsm");
objXL.Run("NameOfExcelModule.UpdateAndExportToMoodle");
谁能就如何让 .bat 文件等待我的 Excel 宏完成提供建议?
【问题讨论】:
标签: javascript excel vba batch-file imacros