pywintypes.com_error: -2147221021,'操作无法使用' 的解决办法
之前用 win32com.client 一直很正常,但是昨天下午突然崩了,一直提示:
pywintypes.com_error: <-2147221021,‘操作无法使用’.
往下看,发现错误代码进一步为:
pywintypes.com_error: <=2147221164, ‘没有注册类’ .
网上找了一下解决办法,基本都只说了一部分,我归纳总结一下:
1、不是 64、32 位的问题,因为我的系统是 win10 64, Python 是 anaconda 的 64 位;
2、com 组件里丢失了 Excel.Application 是对的,找是否有 com 组件的办法可以看https://blog.csdn.net/l490134872/article/details/80250395
但是和我不一样的地方是,我在 DCOM 配置里根本就找不到 Excel.Application
3、我搜索了一下 Excel.exe,发现修改时间是中午 11:50,我想到了下午 2:00 左右,我打开电脑后,发现桌面 excel 等的图标都丢失了,重启后正常,那个时候并没有想太多,可能那个时候就已经出 bug 了,个人怀疑有 2 种可能:1)、Office 2019 更新了,同时没有在 DCOM 里注册;2)、其它软件冲突造成丢失,我中午的时候在用 mysql
4、不管如何,解决思路有了,就是要在 DCOM 里重新注册 Excel.Application。我不知道是否有直接注册的办法,但我还是用了笨办法:重装 office;
5、如果重装了也解决不了问题,那是因为卸载后有一些注册表里的东西没有清理干净,所以我下载了 office 官方的清理工具 o15-ctrremove.diagcab,先卸载 office,再使用工具清除电脑内残留组建,最后重装,完美解决(这个方法也同样适合于 office 账号无法登陆的问题)