xlwings出故障,重装之体会

不知为何,今天重装Windows,Office ,Python 与Xlwings之后, Excel基于Xlwings的程序出现一系列的问题,主要的表现是:

1)找不到 Python.exe的路径,
2)解决前面一条之后, 导入函数不能正常导入.

经过无次的反复测试与调整,发现

1)本程序的运行信赖于大量的VBA代码,均放在xlwings.xlam这个文件的代码中,而且引用的DLL路径也是直接以编码的形式写在这个VBA中, 打开的密码默认是xlwings, 如果今后出现VBA方面的问题,基本上都可以在这个文件中调试找出原因.这次的原因是生成了一个临时文件,但导入时不知何故出现失败(错误码1004,好象是导入的代码块无法正常写入VBA工程),我只好用Editplus打开这个临时文件,将其第2行以及的代码复制到xlwings_udfs模块中。保存之后是可以正常运行的。
后来,我又在Python写了一个自己导出函数清单并包装到VBA的过程, 将导致的代码手工复制到 xlwings_udf或其它模块中也可以使用。
2)如果你也在VBA中定义了一些函数,注意与Python中定义的函数不要重名,因为导入Python的函数时,函数名并不变化,结果就是将Python的函数包装为同名的VBA函数时,就会发生命名冲突而不能正常导入。
3)注意新装Excel之后,要设置宏的安全性选项,允许运行宏,信任对VBA工程的访问,不然界面上的导入代码执行不了。
最后,由于查不出到底哪里出了问题,我的Xlwings环境中出现的不能运行代码,导入代码不完整等问题,反复尝试不能解决。最后只 能推到重来,借助xlwings quickstart xxxx重新生成了一个Excel文件与PY文件,将之前写的代码复制/修改/移植到这个新的工程中(文件名字变了),所有疑难杂症都解决了,代码恢复了正常运行。

转载本人文章.

posted @ 2025-06-04 00:52  dingxianghuan  阅读(72)  评论(0)    收藏  举报