在VBA for Excel Python中找不到引用

在VBA for Excel Python中找不到引用,python,excel,vba,Python,Excel,Vba,我试图通过Excel宏调用python脚本。但是,我在VBA引用中没有看到对Excel Python的引用。我安装了PyWin32,也安装了excelpython *.py文件通常由python.exe程序(与PyWin32一起安装的程序)执行。如果环境变量PATH中包含python.exe程序(安装后通常应该是这样),这意味着您可以通过在命令shell中调用“python filename.py”,使用commandpromt从任何地方调用*.py文件的执行 因此,从vba代码中,您应该使用M

我试图通过Excel宏调用python脚本。但是,我在VBA引用中没有看到对Excel Python的引用。我安装了PyWin32,也安装了excelpython

*.py文件通常由python.exe程序(与PyWin32一起安装的程序)执行。如果环境变量PATH中包含python.exe程序(安装后通常应该是这样),这意味着您可以通过在命令shell中调用“python filename.py”,使用commandpromt从任何地方调用*.py文件的执行

因此,从vba代码中,您应该使用Microsoft脚本运行时或Windows脚本主机库,并以如下类似的方式调用shell

Call Shell("python filename.py")
如果环境变量PATH中不包含python.exe,这意味着您必须调用程序的长路径,如

Call Shell("c:/path/to/python.exe filename.py")

请注意可执行文件和要执行的python文件名之间的空间。

根据Excel和python之间需要的交互量,尝试
xlwings
包也会有所收获。此软件包构建在
pywin32
之上。它允许您从VBA调用Python脚本,随后Python脚本可以通过
xlwings
函数轻松地与Excel应用程序交换数据。看看这些和。

过去,我是通过在从vba运行的bat文件中调用python脚本来实现的。我已经没有代码了,但是你可以用谷歌搜索。(bat文件可能打开了一个VBSSCcript,该脚本反过来运行python脚本)。excel python和xlwings哪个更好?@jenkelblankel
xlwings
excelpython
的继承者。正如
excelpython
的github页面所指出的:“excelpython已集成到xlwings中!今后将不再积极维护excelpython,任何进一步的开发工作都将在xlwings的上下文中进行。”