我有一块运行.bat文件的VBA并在关闭它之前等待它完成并转移到"做东西":
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到光洁度。
理想情况下,我希望隐藏命令提示符并在移动到我的VBA的下一部分之前等待.bat。我的问题是,当我尝试将这两者结合起来时,即使用",vbHide,windowStyle,waitOnReturn",我收到错误
"运行时错误' 450': 参数数量错误或属性分配无效。" 有没有办法让这三个命令无误?
答案 0 :(得分:1)
在您的示例中,尝试将windowStyle更改为0
Dim windowStyle As Integer: windowStyle = 0
这会使窗口不可见。