试图在Vba上调用python脚本,我是一个新手.我尝试使用py2exe将主脚本转换为exe,然后从VBA(shell)调用它,但主脚本调用其他脚本,因此它变得复杂,我搞砸了(我的exe不起作用).此外,主脚本是一个大文件,我不想修改它.
Bottomline,有没有办法从excel vba调用主脚本,而不将脚本转换为exe文件.
到目前为止,我尝试过:
RetVal = Shell("C:\python27\python.exe " & "import " & "C:\\" & "MainScriptFile")
Run Code Online (Sandbox Code Playgroud)
它启动python.exe但没有做任何其他事情.然后我尝试了:
RetVal = Shell("C:\Windows\System32\cmd.exe " & "python " & "C:\\Python27\\hello.py")
Run Code Online (Sandbox Code Playgroud)
它启动命令提示符,但甚至不启动python.
PS我在论坛上检查了所有相关问题,他们没有解决我的问题.
我有一个包含宏的Excel文件(Main.xlsm).我有一个Python文件(python.py)来生成一个辅助Excel文件(sub.xlsx),我将在Main.xlsm文件的宏中进一步调用它.这个由python.py运行生成的sub.xlsx文件保存在同一个工作目录中.
现在,我想使这个python.py的Main.xlsm宏的运行过程中被执行,然后使用这个XLSX文件.我基本上想要减少外部执行python.py的步骤.那是否有命令?我是VBA的新手.
我有一个python代码,它读取3个参数(标量)和一个文本文件,然后返回一个double的向量.我想在vba中编写一个宏来调用这个python代码并将结果写在同一个excel表中.我想知道最简单的方法是什么,这里有一些我发现的东西:
在vba中调用shell()函数但是获取返回值似乎并不那么容易.
将python代码注册为COM对象并从vba调用它 - >我不知道如何做到这一点所以如果你有一些例子它会非常受欢迎
在自定义工具箱中创建自定义工具,在vba中创建地理处理对象然后添加工具箱,然后我们可以直接通过地理处理对象使用自定义工具,但这也是我不知道该怎么做的事情.
有小费吗?