Python 从Excel调用xlwings“;没有名为“的模块”;错误

Python 从Excel调用xlwings“;没有名为“的模块”;错误,python,vba,xlwings,Python,Vba,Xlwings,我正在尝试学习使用xlwings 0.9.2从Excel VBA启动Python脚本的诀窍。根据文档,我需要将PYTHONPATH更改为py文件的路径。我已经看到了这个问题的几个版本,以及各种各样的答案,但没有一个能解决我的具体情况。我在桌面上有一个基本测试模块“module1.py”和一个Excel文件“Book2.xlsm”,其中有一个按钮可以运行此宏: Sub macro1() RunPython ("import module1.py; module1.run_all()") End S

我正在尝试学习使用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
模块1如下所示:

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”的模块;“module1”不是包

按Ctrl+C将此邮件复制到剪贴板。 好啊
你知道我做错了什么吗?

你有两个错误:你需要在没有
.py
结尾的情况下导入模块:

Sub macro1()
RunPython ("import module1; module1.run_all()")
End Sub

它是
xw.Book.caller()
而不是
wb.Book.caller()

我也有同样的错误。通过降级到xlwings版本0.7.2

我知道这很简单!非常感谢!