"Microsoft Excel ActiveX 控件被禁用了吗?"

74 浏览
0 Comments

"Microsoft Excel ActiveX 控件被禁用了吗?"

我有一些使用ActiveX复选框来控制某些活动的Excel工作表。它们最近还在工作,但今天开始出现错误。我被同事提醒了,但在我的电脑上仍可以正常工作。我检查了他的Excel版本和我的版本,他的版本更新。我注意到有新的Windows更新,所以我进行了更新。当我应用待处理的更新后,现在我的电脑上它不再工作了。我不再能够勾选ActiveX复选框,而且,在尝试调试的过程中,似乎我甚至无法再向任何工作表(甚至是新工作表)添加ActiveX控件。我收到一个错误对话框,上面写着“无法插入对象”。(我仍然可以添加表单控件,只是不能添加ActiveX。)在最近的更新后还有其他人遇到这种情况吗?有什么建议吗?

谢谢,

迈克

admin 更改状态以发布 2023年5月22日
0
0 Comments

以下是我在微软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 文件

附加步骤:

如果以上步骤不能解决问题,请尝试下面这个步骤(请注意警告):

  1. 在一个完全更新的计算机上,并在删除 .exd 文件后,以编辑权限打开 Excel 文件。

    打开 Visual Basic for Applications(VBA)> 修改项目,添加一个注释或对任何代码模块进行编辑> 调试> 编译 VBAProject。

    保存并重新打开文件。检查是否解决。如果已解决,请将更新的项目提供给其他用户。

    警告:如果此步骤解决了您的问题,请注意在将此更新的项目部署到其他用户之前,这些用户也需要在其系统上应用更新并删除 .exd 文件。

如果这无法解决您的问题,可能是另一个问题,需要进一步进行故障排除。

Microsoft目前正在解决此问题。请关注博客更新。

来源

0
0 Comments

从其他论坛中,我了解到这是因为微软更新导致的问题,一个好的解决方法是直接删除用户资料的任何临时子文件夹中的MSForms.exd文件。例如:

C:\Users\[用户名]\AppData\Local\Temp\Excel8.0\MSForms.exd

C:\Users\[用户名]\AppData\Local\Temp\VBE\MSForms.exd

C:\Users\[用户名]\AppData\Local\Temp\Word8.0\MSForms.exd

当然,在删除此文件时,应该关闭应用程序(如Excel、Word等)。

0