通过使用xlwings
(http://docs.xlwings.org/en/v0.7.2/vba.html)提供的功能,我可以轻松地在xls中运行python例程,如果我要调用的文件没有&中的任何依赖项#34;上部"项目内部的直接程度,一切都很好。如果没有,它不起作用。
myProject
|__ Exposures
|__ XLS_1.xlsx
|__ exec_file_for_XLS_1.py
|__ Routines
|__ main_routines.py
XLS_2.xlsx
exec_file_for_XLS_2.py
# for explanatory purposes
exec_file_for_XLS_1.py = exec_file_for_XLS_2.py
XLS_1.xlsx = XLS_2.xlsx
inside exec_file_for_XLS_1 calls:
import Routines.main_routines
所以,如果我从exec_file_for_XLS_1.py
致电XLS_1.xlsx
,我会收到错误,因为xlwings
模块无法在entrie项目中搜索,而如果我调用exec_file_for_XLS2.py
来自XLS_2.xlsx
它起作用,因为它搜索" lower"中的文件夹。项目的水平
我的问题是:除了将excel(及其.py
执行文件)移到顶层(在我的情况下不可行),我该怎么做才能解决这个问题?
做更新的版本(我的0.7.2
}解决了这个问题吗?
答案 0 :(得分:0)
您可以在VBA设置中将python无法覆盖的目录添加到PYTHONPATH
,请参阅http://docs.xlwings.org/en/stable/vba.html#settings。