安装所有最新的 Windows 更新后,我的 Excel VBA 代码在第一个模块的开头显示自动化错误。它包含一些表格以及许多 VBA 代码模块。但是,当删除表单(和相关代码)时一切正常。
大约一年前,在其他一些 Windows 更新之后,同样的事情发生了。当时删除 .exd 文件就可以了,但当前的更新(包括 Service Pack 3)似乎有所不同。
这是怎么回事,我怎样才能让表格发挥作用?所有代码都没有改变,并且在所有以前的 windows/office 更新中都存在。运行 Windows 7(同样发生在 Vista 机器上)和 Office 2007。
最佳答案
我以前经常用 Visual Basic and Crystal Reports 看到这个;由于部署不当或 DLL Hell .
所以,我的猜测是它不是代码,而是您正在使用的某些第 3 方控件(OCX、DLL)。
检查您的引用(在 VBA IDE 中,单击“工具和引用”)并查看每个 DLL 指向的位置。
查看库中的任何日期是否与正常工作的机器不同,您可能会找到罪魁祸首。
编辑
OP按照上面的步骤发现了问题。
此特定问题的解决方法是注销 mscomctl.ocx:
regsvr32 /u mscomctl.ocx
然后注册它:
regsvr32 mscomctl.ocx
关于windows - Excel/VBA Automation Errors due to Office Service Pack 3.0 由 Forms 引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971358/