Как захватить вывод оболочки WScript Shell из Excel VBA без использования cmd? - PullRequest
0 голосов
/ 16 января 2019

Я использовал различные посты, похожие на это, и придумал следующее, но не уверен, почему это не работает для меня.У меня есть пользовательская форма, в которой я пытаюсь запустить скрипт и захватить вывод, включая любые ошибки.Однако окно консоли быстро исчезает, как только я запускаю этот код:

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?

Спасибо.

...