KET.Application 报错:pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)

发布时间 2023-11-15 19:48:48作者: Levice

电脑突然有一天调用 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