当我使用下一个代码时,当我尝试从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
我该如何解决这个问题?
最佳答案
两者都有什么结果
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窗口自动关闭