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'))

问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""