试图在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>")
里面的所有细节<>都将给出。<>-表示可变字段
我想这应该工作。但是话又说回来,如果您的脚本要调用其他文件夹中的其他文件,则可能会导致错误,除非您的脚本已正确处理它。希望能帮助到你。
添加回答
举报
0/150
提交
取消