这段代码从VBA启动python脚本,它在我的旧PC上运行得很好。
Sub py_launcher_8()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim errorCode As Long
errorCode = wsh.Run("C:/Users/belose/PycharmProjects/week2/venv/Scripts/python.exe" & " " & "C:\Users\belose\PycharmProjects\week2\VGM\VGM_eval.py", windowStyle, waitOnReturn)
If errorCode = 0 Then
MsgBox "Done! No error to report."
Else
MsgBox "Program exited with error code " & errorCode & "."
End If
End Sub
然后我不得不搬到另一台PC上,那里python位于anaconda环境中: C:\Users\belose\AppData\Local\Continuum\anaconda3\python.exe。
Sub py_launcher_8()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
Dim errorCode As Long
errorCode = wsh.Run("C:\Users\belose\AppData\Local\Continuum\anaconda3\python.exe" & " " & "C:\Users\belose\PycharmProjects\DRM\venv\VGM\VGM_eval.py", windowStyle, waitOnReturn)
If errorCode = 0 Then
MsgBox "Done! No error to report."
Else
MsgBox "Program exited with error code " & errorCode & "."
End If
End Sub
VBA现在不启动python脚本并返回错误代码1。
python脚本本身是可以的。
可能是什么原因?
发布于 2020-03-11 23:26:41
我建议您用test.py
编写一个print ("Hello World..!!")
脚本,并运行它来检查问题是否是由于python.exe
路径或python script
的执行造成的。
如果它正在运行,那么您应该检查您的python脚本,如果没有,您应该验证python.exe
路径。
要找到python路径,可以使用以下步骤:
“开始”菜单中的
Anaconda Prompt
。如果您想要解释器的位置,而不是根conda环境,那么运行activate environment-name
。运行where python
.的
https://stackoverflow.com/questions/60647515
复制相似问题