我已经使用了各种类似的帖子,并得出了以下结论,但不知道为什么这对我来说不起作用。我有一个UserForm,我试图运行一个脚本并捕获输出,包括任何错误。然而,当我运行这段代码时,控制台窗口很快就消失了。
Sub test()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
command = "python ""C:\test1.py --arg1=ABC"" > ""C:\logs\test.log"""
wsh.Run command, windowStyle, waitOnReturn
End Sub
脚本自己运行得很好,直到我添加了重定向('>')。我的python脚本需要在命令前加上'python'关键字才能启动,如上图所示,所以我不能使用'cmd c'。是否可以在不使用'cmd c'的情况下,使用wsh.Run(最好是)而不是wsh.Exec来捕获输出?
谢谢。