为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Excel VBA上调用python脚本?

如何在Excel VBA上调用python脚本?

白板的微信 2019-11-14 09:33:19
试图在Vba上调用python脚本,我是新手。我尝试使用py2exe将主脚本转换为exe,然后从VBA(shell)调用它,但是主脚本调用了其他脚本,因此它变得很复杂,我搞砸了(我的exe无法正常工作)。此外,主脚本是一个大文件,我不想对其进行很多修改。底线是,有一种方法可以从excel vba调用主脚本,而无需将脚本转换为exe文件。到目前为止,我尝试了:RetVal = Shell("C:\python27\python.exe " & "import " & "C:\\" & "MainScriptFile")它启动python.exe,但不执行其他任何操作。然后我尝试了:RetVal = Shell("C:\Windows\System32\cmd.exe " & "python " & "C:\\Python27\\hello.py")它启动命令提示符,但甚至不启动python。PS我检查了论坛中的所有相关问题,它们不能解决我的问题。
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

尝试这个:


RetVal = Shell("<full path to python.exe> " & "<full path to your python script>")

或者,如果python脚本与工作簿位于同一文件夹中,则可以尝试:


RetVal = Shell("<full path to python.exe> " & ActiveWorkBook.Path & "\<python script name>")

里面的所有细节<>都将给出。<>-表示可变字段


我想这应该工作。但是话又说回来,如果您的脚本要调用其他文件夹中的其他文件,则可能会导致错误,除非您的脚本已正确处理它。希望能帮助到你。


查看完整回答
反对 回复 2019-11-14
?
开满天机

TA贡献1786条经验 获得超12个赞

您也可以尝试使用ExcelPython,它允许您操作Python对象并从VBA调用代码。


查看完整回答
反对 回复 2019-11-14
  • 3 回答
  • 0 关注
  • 2893 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信