"Microsoft Excel ActiveX 控件被禁用了吗?"
"Microsoft Excel ActiveX 控件被禁用了吗?"
我有一些使用ActiveX复选框来控制某些活动的Excel工作表。它们最近还在工作,但今天开始出现错误。我被同事提醒了,但在我的电脑上仍可以正常工作。我检查了他的Excel版本和我的版本,他的版本更新。我注意到有新的Windows更新,所以我进行了更新。当我应用待处理的更新后,现在我的电脑上它不再工作了。我不再能够勾选ActiveX复选框,而且,在尝试调试的过程中,似乎我甚至无法再向任何工作表(甚至是新工作表)添加ActiveX控件。我收到一个错误对话框,上面写着“无法插入对象”。(我仍然可以添加表单控件,只是不能添加ActiveX。)在最近的更新后还有其他人遇到这种情况吗?有什么建议吗?
谢谢,
迈克
以下是我在微软Excel支持团队博客上找到的最佳答案:
在安装2014年12月更新后,一些用户发现表单控件(FM20.dll)不再像预期那样工作。存在问题的时候可能包括打开带有现有VBA项目的文件时使用表单控件,尝试在新工作表中插入表单控件,或运行可能使用这些组件的第三方软件时。
您可能会遇到以下错误:
“无法插入对象”“对象库无效,或包含无法找到的对象定义的引用”
此外,您可能无法使用或更改工作表上活动控件的属性,或在试图通过代码将活动控件作为工作表成员引用时收到错误。 更新后的步骤:
要解决此问题,您必须删除客户端计算机上缓存的控件类型库(扩展程序文件)。为此,您必须在硬盘上搜索具有“.exd”文件名扩展名的文件,并删除所有找到的.exd文件。下次使用VBA时自动重新创建这些.exd文件。这些扩展文件将在用户的配置文件下,并可能在其他位置,例如以下位置:
%appdata%\Microsoft\forms
%temp%\Excel8.0
%temp%\VBE
脚本解决方案:
由于此问题可能会影响多台计算机,也可以创建脚本解决方案以删除EXD文件,并将脚本作为登录过程的一部分运行,使用策略。您需要的脚本应包含以下行,并且需要为每个用户运行,因为.exd文件是用户特定的。
删除 %temp%\vbe\*.exd 文件
删除 %temp%\excel8.0\*.exd 文件
删除 %appdata%\microsoft\forms\*.exd 文件
删除 %appdata%\microsoft\local\*.exd 文件
删除 %appdata%\Roaming\microsoft\forms\*.exd 文件
删除 %temp%\word8.0\*.exd 文件
删除 %temp%\PPT11.0\*.exd 文件
附加步骤:
如果以上步骤不能解决问题,请尝试下面这个步骤(请注意警告):
在一个完全更新的计算机上,并在删除 .exd 文件后,以编辑权限打开 Excel 文件。
打开 Visual Basic for Applications(VBA)> 修改项目,添加一个注释或对任何代码模块进行编辑> 调试> 编译 VBAProject。
保存并重新打开文件。检查是否解决。如果已解决,请将更新的项目提供给其他用户。
警告:如果此步骤解决了您的问题,请注意在将此更新的项目部署到其他用户之前,这些用户也需要在其系统上应用更新并删除 .exd 文件。
如果这无法解决您的问题,可能是另一个问题,需要进一步进行故障排除。
Microsoft目前正在解决此问题。请关注博客更新。