在使用Excel VBA的时候,尤其是有设计的Form窗体并且上面有列表框等控件时,经常会碰到在某些电脑上打开出现“无法加载这个对象,因为它不适用于这台计算机”的问题。这个问题产生的主要原因是由于两台电脑上的MSCOMCTL.OCX版本不同。尤其是在高版本的Office里创建的窗体和控件,在低版本的Office或电脑上打开时就有可能出现这个问题。笔者自己曾经制作过一个Ribbon工具栏,在给其他人电脑上安装的时候出现了这个问题。再此介绍一下我自己试验通过的解决方案,供各位参考。
工具/原料
Microsoft Office - Excel
64位系统解决方案:
1、首先,到百度搜索,并下载“MSCOMCTL.OCX”的最新版本,或者把运行相关宏或代码不出现问题的电脑上的MSCOMCTL.OCX文件复制。
2、然后,将下载或复制的文件粘贴到C:\Windows\SysWOW64下(如果提示替换文件可直接替换)。
3、下一步,复制regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX。选择【开始按钮】-【所有程序】-【附件】-在【命令行】上右键选择【以管理员权限运行】命令行,粘贴:regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX,敲下回车完成注册。
4、再次打开运行出错的文件,出现错误提示后点击【调试】进入VBE界面。
5、在【工具】-【引用】下将“Missing……”、“丢失的……”等内容前的勾去掉。点击【确定】按钮后保存工作薄。
6、关闭Excel程序,再次打开包含宏的工作簿就可以正常使用了。
32位系统解决方案:
1、32位系统解决方法类似,有如下两个不同:1)存储MSCOMCTL.OCX文件的位置是:C:\Windows\System32
2、2)在命令行界面粘贴的代码为:regsvr32 MSCOMCTL .OCX其余与64位系统解决方法一致。