系统错误&H80040111(-2147221231)。ClassFactory无法供应请求的类别
问题描述:WIN7 64位系统,在使用word模板开发rtf报表的时候,发现之前可以正常开发的word在加载xml的时候报错:系统错误&H80040111(-2147221231)。ClassFactory无法供应请求的类别;
问题调试:卸载office重新安装无济于事,直接重新注册MSCOMCTL.OCX也不行;
问题解决:1.从同事的电脑上获取可以正常使用的C:\Windows\SysWOW64路径下的MSCOMCTL.OCX,备份本机相同路径下的MSCOMCTL.OCX,然后替换它,以管理员身份运行黑窗口,反注册MSCOMCTL.OCX,再重新注册MSCOMCTL.OCX,解决问题;附上我使用到的MSCOMCTL.OCX文件:https://download.csdn.net/download/buzhidao_2/10350039
替换完MSCOMCTL.OCX文件后,以管理员身份运行cmd命令窗口;
2.进入C:\Windows\SysWOW64路径,执行REGSVR32 /u MSCOMCTL.OCX反注册,执行REGSVR32 MSCOMCTL.OCX重新注册;
注册成功会有提示框提醒
注:对于win7 32位系统,MSCOMCTL.OCX对应的路径和名称不同,请参照以下从网上查到的信息:
因为 OFFICE2007 自带的 MSCOMCTL.OCX 控件比 VB6 本身的 MSCOMCTL.OCX 控件版本高,
所以,在安装 OFFICE2007 时,安装程序会自动替换 VB6 原来的 MSCOMCTL.OCX 控件,
从而导致 VB6 不能正常加载 MSCOMCTL.OCX 控件!
解决办法:
1、找一个 VB6 能正常加载的 MSCOMCTL.OCX 控件的电脑,把这个控件复制到你的电脑上
2、先在开始 - 运行中用下面命令反注册 MSCOMCTL32.OCX 控件:
REGSVR32 /u C:\WINDOWS\SYSTEM32\MSCOMCTL32.OCX
3、把复制回来的 MSCOMCTL.OCX 控件复制到 C:\WINDOWS\SYSTEM32\ 目录下
4、在开始 - 运行中用下面命令注册 MSCOMCTL32.OCX 控件即可:
REGSVR32 C:\WINDOWS\SYSTEM32\MSCOMCTL32.OCX