【发布时间】:2020-08-03 18:53:12
【问题描述】:
我一直在尝试通过创建脚本和宏等来为我工作的一些用户自动化一系列管理事件。
这些脚本和宏运行良好,但是,我希望通过运行单个批处理文件来系统地执行脚本和宏,从而使用户的过程更加轻松。
我目前拥有的批处理文件,一一调用所有脚本,最后一个脚本打开其中包含一些宏的 xlsm 工作簿之一 - 这就是问题所在 - 还有脚本可以执行,但只有在此工作簿执行完所有宏后才能执行。
所以我最初的想法是测试工作簿是否打开,如果是,将下一个脚本的执行延迟一分钟左右,然后一次又一次地测试......直到它关闭......然后我想也许在宏中执行下一组脚本(也在批处理文件中)会更容易。
所以,我有这个代码:
Sub Run_BAT()
Set obj = CreateObject("Wscript.Shell")
obj.Run Chr(34) & "X:\Test\" & "Termination Reports Scripts\" & "Execute_Terminations.bat" & Chr(34), 0, True
Set obj = Nothing
End Sub
这给了我一个错误:
权限被拒绝
然后是这段代码:
Sub WriteAndRunBatFile()
Call Shell("X:\Test\Termination Reports Scripts\Execute_Terminations.bat")
End Sub
这给了我错误:
无效的过程调用
包含“Shell”命令的任何单个代码示例都会出现此错误。
【问题讨论】: