Мне нужно запустить python скрипт из VBA. До сих пор мне удавалось запустить python:
Sub py_launcher_test()
Dim objShell As Object
Dim PythonExe, PythonScript As String
Dim command As String
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExe = "C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe"
command = Chr(34) & PythonExe & Chr(34)
objShell.Run command, 7, True
End Sub
Но при попытке запустить сценарий Speci c командная строка просто мигает и исчезает:
Sub py_launcher_test()
Dim objShell As Object
Dim PythonExe, PythonScript As String
Dim command As String
Set objShell = VBA.CreateObject("Wscript.Shell")
PythonExe = "C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe"
PythonScript = "C:/Users/belose/PycharmProjects/week2/VGM/helloworld.py"
command = Chr(34) & PythonExe & Chr(34) & " " & Chr(34) & PythonScript & Chr(34)
objShell.Run command, 7, True
End Sub
Что делать Я здесь не так?
UPD:
Я пробовал решения из здесь :
Sub py_launcher_test2()
RetVal = Shell("C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe C:/Users/belose/PycharmProjects/week2/VGM/helloworld.py")
End Sub
Или:
Sub py_launcher_test3()
Dim Ret_Val
args = """C:/Users/belose/PycharmProjects/week2/VGM/helloworld.py"""
Ret_Val = Shell("C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe " & " " & args, vbNormalFocus)
If Ret_Val = 0 Then
MsgBox "Couldn't run python script!", vbOKOnly
End If
End Sub
Или:
Sub py_launcher_test4()
RetVal = Shell("C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe C:/Users/belose/PycharmProjects/week2/VGM/helloworld.py", vbNormalFocus)
End Sub
Все эти попытки имеют одинаковый результат, cmd просто мигает и исчезает. И вот как это выглядит, когда я ввожу команду вручную: ![cmd](https://i.stack.imgur.com/qyw93.jpg)