Я написал скрипт PYthon, который работает при запуске из обычной командной строки, но та же команда не работает при запуске через код VBA.
Я проверяю, что waitOnReturn сможет мне в этом помочь, но даже при использовании waitReturn мой скрипт на python, похоже, не работает из VBA, а также никаких всплывающих окон с ошибками.
Sub Exec()
Dim objShell As Object
Dim PythonExec, PythonScript As String
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExec = """C:\Users\123\AppData\Local\Programs\Python\Python37-32\python.exe"""
PythonScript = "C:\Users\123\Run.py"
objShell.Run PythonExec & " " & PythonScript, windowStyle, True
End Sub
Не могли бы вы, ребята, помочь мне с этой проблемой? Я понятия не имею о том, что мне не хватает.






При запуске у меня тоже не работало, всплывало окно и моментально исчезало.
Что решило это для меня, так это использовать """ по всем путям.
нравится:
PythonExec = """C:\Users\123\AppData\Local\Programs\Python\Python37-32\python.exe"""
PythonScript = """C:\Users\123\Run.py"""
Наконец, вы можете увидеть сообщение об ошибке, если запустите скрипт с помощью cmd, например:
objShell.Run "cmd /k" & " " & PythonExec & " " & PythonScript
Даже если скрипт не запустится, у вас будет информация о том, почему он не сработал.
Можете ли вы отредактировать вопрос, чтобы включить
Run.py?