禁用MicrosoftExcel ActiveX控件?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

我有一些Excel工作表使用ActiveX复选框来控制某些活动。他们最近工作,但今天开始犯错误。一位同事提醒我,它还在我的电脑上工作。我检查了他的Excel版本和我的版本,他的版本更新了。我注意到有新的Windows更新,所以我做了更新。在我应用了挂起的更新之后,它现在不再在我的计算机上工作了。我不能再选中ActiveX复选框,而且,作为尝试调试的一部分,我甚至不能再向任何工作表,甚至是新工作表中添加ActiveX控件。我得到一个错误对话框,上面写着“无法插入对象”。(我仍然可以添加表单控件,但不能添加ActiveX)。在最近的一次更新之后,还有其他人经历过吗?有什么建议吗?

提问于
用户回答回答于

从其他论坛,我了解到,这是由于MS更新,一个好的解决办法是简单地删除文件MSForms.exd从任何临时子文件夹在用户的个人资料。例如:

C:\Users\[user.name]\AppData\Local\Temp\Excel8.0\MSForms.exd

C:\Users\[user.name]\AppData\Local\Temp\VBE\MSForms.exd

C:\Users\[user.name]\AppData\Local\Temp\Word8.0\MSForms.exd

当然,要删除此文件,应用程序(Excel、Word...)必须关闭。

用户回答回答于

这里是我在MicrosoftExcel支持团队博客上找到的最佳答案

对于某些用户,窗体控件(FM20.dll)在安装2014更新后不再按预期工作。在使用窗体控件打开现有VBA项目的文件、尝试将窗体控件插入到新工作表或运行可能使用这些组件的第三方软件时,都会遇到问题。 可能会收到以下错误: “无法插入对象”“对象库无效或包含对无法找到的对象定义的引用” 此外,在试图通过代码将ActiveX控件作为工作表成员时,可能无法在工作表上使用或更改ActiveX控件的属性,或收到错误。更新后应遵循的步骤:若要解决此问题,必须删除客户端计算机上控件类型库(扩展程序文件)的缓存版本。为此,必须在硬盘中搜索扩展名为“.exd”的文件,并删除所有找到的.exd文件。当下次使用新控件时,这些.exd文件将自动重新创建。这些扩展程序文件将位于用户配置文件之下,也可能位于其他位置,例如: %AppData%\Microsoft\Forms %Temp%\Excel8.0 %TEMP%\VBE脚本解决方案:由于此问题可能影响多台计算机,因此还可以创建脚本解决方案,删除EXD文件并使用策略作为登录进程的一部分运行脚本。需要的脚本应该包含以下行,并且需要为每个用户运行,因为.exd文件是特定于用户的。 DEL%TEMP%\VBE\.exd DEL%TEMP%\>8.0\.exd DEL%AppData%\Microsoft\Forms\.exd Del%AppData%\Microsoft\local\.exd DEL%AppData%\漫游\Microsoft\Forms\.exd DEL%TEMP%\word8.0\.exd DEL%TEMP%\PPT 11.0\*.exd附加步骤:如果上述步骤不能解决问题,则可以测试的另一个步骤(请参阅下面的警告):

  1. 在完全更新的计算机上,在删除.exd文件之后,使用编辑权限在Excel中打开该文件。 打开VisualBasicforApplications>修改项目,向任何代码模块>Debug>ComposeVBAProject添加某种注释或编辑。 保存并重新打开文件。测试分辨率。如果已解决,请将此更新项目提供给其他用户。 警告:如果此步骤解决了您的问题,请注意,在将此更新项目部署到其他用户之后,这些用户还需要将更新应用到他们的系统和.exd文件中。

如果这不能解决你的问题,则可能是另一个问题,可能需要进一步的故障排除。

扫码关注云+社区