当我尝试从excel启动批处理文件时,当我使用下一个代码时出现。
Sub RunBatch()
Call Shell(Environ$("COMSPEC") & " F:\Financial\Data\Reports\ExpensesYTD\Batch1.bat", vbNormalFocus)
End Sub
我有这个错误:
erorr: Run-time error '53' File not found
我该如何解决这个问题?
答案 0 :(得分:0)
两者的结果是什么
dir /B "F:\Financial\Data\Reports\ExpensesYTD\Batch1.bat"
dir /B F:\Financial\Data\Reports\ExpensesYTD\Batch1.bat
由于我们不知道Run-time error '53'
错误消息所指的文件,请公开Environ$("COMSPEC")
结果,例如按MsgBox
并检查dir /B %COMSPEC%
的输出。
并考虑在语法中使用/C
更改cmd调用,如下所示:
Call Shell(Environ$("COMSPEC") & " /C F:\Financial\Data\Reports\ExpensesYTD\Batch1.bat", vbNormalFocus)
'or even
Call Shell("cmd /C F:\Financial\Data\Reports\ExpensesYTD\Batch1.bat", vbNormalFocus)
/C
参数确保批处理文件完成执行时cmd窗口自动关闭