我试图学习使用xlwings 0.9.2从Excel VBA启动Python脚本的绳索。根据文档,我需要将PYTHONPATH
更改为我的py文件的路径。我已经看过这个问题的几个版本,以及各种答案,但没有一个解决我的具体情况。我有一个基本的测试模块" module1.py"和一个Excel文件" Book2.xlsm"位于桌面上,该桌面有一个用于运行此宏的按钮:
Sub macro1()
RunPython ("import module1.py; module1.run_all()")
End Sub
module1是这样的:
import xlwings as xw
def run_all():
wb.Book.caller()
xw.sheets("Sheet1").range("A1").value = "Done!"
return
然后我导入了" xlwings.bas"文件并编辑VBA代码以读取PYTHONPATH = "C:\Users\bwamp\Desktop\module1\module1
,它指的是包含" module1.py"的子文件夹。 (完整路径:" C:\ Users \ bwamp \ Desktop \ module1 \ module1 \ module1.py",为清楚起见)。按按钮运行macro1
,我收到以下错误:
追踪(最近一次呼叫最后一次):
文件"",第1行,
ImportError:没有名为' module1.py&#39 ;;的模块'模块1'不是包
任何想法我做错了什么?
答案 0 :(得分:0)
您有两个错误:您需要导入没有.py
结尾的模块:
Sub macro1()
RunPython ("import module1; module1.run_all()")
End Sub
而xw.Book.caller()
代替wb.Book.caller()
。
答案 1 :(得分:0)
我有同样的错误。解决方案降级为xlwings版本0.7.2