带有DatePicker的Excel VBA中的"对象库无效或包含引用..."

CaB*_*ach 3 registry excel vba activex excel-vba

我一直在研究一个包含大量VBA代码的Excel工作簿,现在我已将此文件发送给一些同事进行测试,但它不能在他们的计算机上运行.我们都在同一家公司工作,并拥有带Office 2003的Windows XP SP2.

工作簿有一个表单,单击一个形状时会打开它包含一些控件.当他们点击表单的形状以显示以下错误时出现:

"对象库无效或包含对无法找到的对象定义的引用"

在表单中有一个DatePicker,我认为存在问题.如果我从表单中删除datePicker并再次发送它们,则不会收到此错误消息.

我已经尝试删除这两个网站" Microsoft "和" lessanvaezi "中提到的mscomct2.exd文件,但错误stil弹出.我检查并生成了新的.exd文件.

一些附加信息:

  1. 我检查他们的系统,他们确实将文件mscomct2.ocx放在正确的位置(c:\ Winxp\System32).
  2. 如果我打开一个空的Excel文件,转到VBA编辑器转到工具 - >参考,我没有看到注册"Microsoft Common Control-2 6.0(SP6)"(mscomct2.ocx)的选项.相反,我看到"Microsoft Windows公共控件Satellite-3 6.2)"(cmct3de.dll).
  3. 我使用datePicker发送我的同事文件,但没有引用"Microsoft Common Control-2 6.0(SP6)".在单击形状并打开表单之前,我尝试使用以下代码以语音方式引用MSCOMCT2.ocx库.它引用了"Microsoft Common Control-2 6.0(SP6)",但错误仍然存​​在.

Sub RegisterCtl()

'MSComCt2.ocx
strGUID = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}"
ThisWorkbook.VBProject.References.AddFromGuid guid:=strGUID, Major:=1, Minor:=0
Run Code Online (Sandbox Code Playgroud)

结束Sub

  1. 如果我然后转到VBE编辑器中的表单并右键单击工具箱,然后转到附加控件以添加"Microsoft Date and TimePicker"控件,我看到该选项列出了两次.不幸的是,我不知道哪一个,行为是相同的:在工具箱中添加了datepicker符号,但是当我将控件拖到窗体时,一个msgBox弹出说控件不可用.

有谁知道出了什么问题?我该怎么做才能让它在电脑上运行?

我感谢任何帮助.

编辑:

有这个问题的计算机已升级,所以我无法找到我的案例的具体解决方案.我选择了Archers解决方案,因为它帮助了大多数人(Most Upvotes).

小智 11

我也有同样的问题.http://support.microsoft.com/kb/957924/en-us删除所有.exd文件使我的程序正常工作!

进入命令提示符并键入以下DOS命令:

码:

CD\Documents and Settings

DEL/S/A:H/A:-H*.EXD