我有一块VBA,它运行一个.bat文件并在关闭之前等待它完成并移动到“执行任务” :VBA:执行.bat文件时,隐藏命令提示符并在.bat完成时继续执行代码
Sub RunFWScript()
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
CreateObject("WScript.Shell").Run ("cmd /c pushd FilePath & filename.bat"), windowStyle, waitOnReturn
'do stuff
End Sub
如果我取代“windowStyle,waitOnReturn”与“vbhide”,我有它运行.bat文件而不显示用户在命令提示屏幕宏,但它马上移动到“做的东西”,不等待.bat完成。
理想情况下,我希望隐藏命令提示符并等待.bat,然后再移动到我的VBA的下一部分。我的问题是,当我尝试这两个结合,即与走“ vbHide,windowStyle,waitOnReturn”,我得到一个错误
“运行时错误‘450’: 的参数或无效的属性赋值错误号码“。 有没有办法让这3个命令没有错误?
我还没有测试代码,但似乎'Run'方法的圆括号的位置不正确。 – treintje
也许''cmd/c“”pushd FilePath&filename.bat“”“' – Compo