如何在不使用cmd的情况下捕获Excel VBA的shell WScript Shell输出?

问题描述 投票:0回答:1

我已经使用了各种类似的帖子,并得出了以下结论,但不知道为什么这对我来说不起作用。我有一个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来捕获输出?

谢谢。

excel vba excel-2010 wscript.shell
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.