从VBA调用Python脚本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (503)

我在使用Excel中的vba调用Python脚本时遇到问题。我阅读了解决同一问题的其他线程,但是当我运行代码时,Python屏幕闪烁然后消失。仅供参考,我为Windows 10下载了python 3.6.5并将其添加到PATH。有人能告诉我为什么屏幕闪烁,我能做些什么来解决它?

Sub Run_python()

Dim Ret_Val
Dim args As String

args = "C:\Users\opera\AppData\Local\Programs\Python\Python36\Tools\scripts\db2pickle.py"
Ret_Val = Shell("C:\Users\opera\AppData\Local\Programs\Python\Python36\python.exe" & " " & args, vbNormalFocus)

If Ret_Val = 0 Then
MsgBox "Couldn't run python script!", vbOKOnly
End If

End Sub
提问于
用户回答回答于

屏幕闪烁并快速返回,因为程序失败或运行很快完成

你有没有试图从命令行运行它,看看发生了什么?

如果运行良好,你可以强制命令窗口保持打开状态,以便你可以阅读从Shell命令使用python时发生的情况

Call Shell("cmd.exe /S /K" & "C:\Users\opera\AppData\Local\Programs\Python\Python36\python.exe" & " " & args, vbNormalFocus)

/S      Modifies the treatment of string after /C or /K 
/C      Carries out the command specified by string and then terminates 
/K      Carries out the command specified by string but remains 

扫码关注云+社区

领取腾讯云代金券