KET.Application 报错:pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
电脑突然有一天调用 KET.Application 总是报错,代码:
import win32com.client xcl = win32com.client.DispatchEx("KET.Application") xcl.Quit()
报错:pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
WIN 11系统,最新版WPS AI,之前用的好好的,不知道最近卸载了啥,搞成这样了,在别的电脑这个环境可以正常调用 KET.Application,着急上火了一整天,晚上才试出解决方案:
新建文本文档,复制如下代码,另存为BAT文件,然后以管理员身份运行,然后就解决了:
reg copy HKCU\SOFTWARE\Classes\KET.Application HKLM\SOFTWARE\Classes\KET.Application /s /reg:32 reg copy HKCU\SOFTWARE\Classes\KET.Application.9 HKLM\SOFTWARE\Classes\KET.Application.9 /s /reg:32 reg copy HKCU\SOFTWARE\Classes\CLSID\{45540001-5750-5300-4B49-4E47534F4655} HKLM\SOFTWARE\Classes\CLSID\{45540001-5750-5300-4B49-4E47534F4655} /s /reg:32
这个大致是说WPS安装的时候没有把注册表写全,要从HKCU复制上述注册信息到HKLM,一试就有效。
更多方案参考:解决WPS及office二次开发接口无法注册的问题_kwps-CSDN博客
二次开发接口名称
WPS文字 KWPS.Aplication
WPS的Excel KET.Application
WPS的演示文档 KWPP.Application
Word Word.Application
Excel Excel.Application
Powerpoint Powerpoint.Application
二次开发接口的数值
WPS文字 {000209FF-0000-4b30-A977-D214852036FF} WPS的Excel {45540001-5750-5300-4B49-4E47534F4655} WPS的演示文档 {44720441-94BF-4940-926D-4F38FECF2A48}
解决方案-更改注册表:
在win10的系统中wps的安装包没有将注册表的路径写全,所有需要手动书写注册表内容。
目前来看这种方式能解决在win10系统下的excel和ppt的模式
Excel的KET模式 reg copy HKCU\SOFTWARE\Classes\KET.Application HKLM\SOFTWARE\Classes\KET.Application /s /reg:32 reg copy HKCU\SOFTWARE\Classes\KET.Application.9 HKLM\SOFTWARE\Classes\KET.Application.9 /s /reg:32 reg copy HKCU\SOFTWARE\Classes\CLSID\{45540001-5750-5300-4B49-4E47534F4655} HKLM\SOFTWARE\Classes\CLSID\{45540001-5750-5300-4B49-4E47534F4655} /s /reg:32
PPT的KWPP模式 reg copy HKCU\SOFTWARE\Classes\KWPP.Application HKLM\SOFTWARE\Classes\KWPP.Application /s /f /reg:32 reg copy HKCU\SOFTWARE\Classes\KWPP.Application.9 HKLM\SOFTWARE\Classes\KWPP.Application.9 /s /f /reg:32 reg copy HKCU\SOFTWARE\Classes\CLSID\{44720441-94BF-4940-926D-4F38FECF2A48} HKLM\SOFTWARE\Classes\CLSID\{44720441-94BF-4940-926D-4F38FECF2A48} /s /f /reg:32