尝试在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。
另外,我在论坛上查了所有相关的问题,它们都没有解决我的问题。
试试这个:
或者,如果python脚本与工作簿位于同一文件夹中,则可以尝试:
将给出
<>
中的所有详细信息。<>
-表示可变字段我想这应该管用。但是,如果脚本要调用位于不同文件夹中的其他文件,则可能会导致错误,除非脚本对其进行了正确处理。希望有帮助。
有两种方法可以解决这个问题
Pyinx-一个非常轻量级的工具,允许您使用excel进程空间调用Python http://code.google.com/p/pyinex/
我几年前就用过这个(在积极开发的时候),效果很好
如果你不介意付钱的话,这个看起来不错
https://datanitro.com/product.html
但我从没用过
如果你已经在用Python编写了,也许你可以完全放弃excel,用纯Python来完成所有的工作?维护一个代码库(python)要比维护2个代码库(python+任何excel覆盖)容易得多。
如果您真的需要将数据输出到excel中,那么Python中甚至有一些非常好的工具可以用于此。如果可以更好的工作让我知道,我会得到链接。
您还可以尝试ExcelPython,它允许您操作Python对象并从VBA调用代码。
相关问题 更多 >
编程相关推荐