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

试图在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我检查了论坛中的所有相关问题,它们不能解决我的问题。


白板的微信
浏览 2894回答 3
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>")里面的所有细节<>都将给出。<>-表示可变字段我想这应该工作。但是话又说回来,如果您的脚本要调用其他文件夹中的其他文件,则可能会导致错误,除非您的脚本已正确处理它。希望能帮助到你。

开满天机

您也可以尝试使用ExcelPython,它允许您操作Python对象并从VBA调用代码。
打开App,查看更多内容
随时随地看视频慕课网APP