AttributeError: module 'win32com.gen_py.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXx0x0x0' has no attribute 'CLSIDToClassMap'
问题描述
问题原因
在用win32com调用excel的一些应用接口时,会执行win32com.client.gencache.EnsureDispatch,执行该指令后,会产生相应的暂存文件,使得在调用xlwings中的api时发生have no attribute的情况。
解决方案
找到产生的暂存文件,删掉该文件即可。
win+R打开运行窗口,并输入指令%temp%\gen_py
,打开gen_py
文件夹,如下图所示:
删除gen_py文件夹下的所有暂存文件即可,如下图所示:
如果错误总是出现,可以新建一条指令 “插入Python代码段”,插入以下代码,在每次操作前清空gen_py
文件夹:
import os
import shutil
shutil.rmtree(os.path.join(os.environ.get('LOCALAPPDATA'), 'Temp', 'gen_py'))