将Microsoft DataGrid等ActiveX控件添加到Excel工作表时"无法插入对象"错误

Tec*_*Man 8 security excel activex

我们的iGrid ActiveX网格控件的用户之一需要将其直接插入到MS Excel工作表中,但他们没有设法做到这一点 - 始终生成"无法插入对象"错误.我们还可以在Win7 64位和MS Office 2010 32位下的测试PC上重现此问题.

此COM控件已在操作系统中正确注册,可以添加到VBA UserForms和其他应用程序,但我们无法为Excel工作表执行此操作.看起来,它是ActiveX的常见问题 - 甚至是像Microsoft DataGrid Control 6.0这样的遗留问题.在搜索了大量时间的解决方案后,我们得出结论,这是MS Office中的安全设置.因此,问题可以表述如下:如何在MS Office中启用特定ActiveX控件的使用?

以下是我们找到的相关资源,可能会有所帮助.

首先,微软表示

并非所有ActiveX控件都可以直接在工作表中使用; 一些只能在Microsoft Visual Basic for Applications(VBA)UserForms上使用.使用这些控件时,如果您尝试将对象添加到工作表,Excel将显示消息"无法插入对象".

有没有人知道哪些缺少的功能可能会阻止ActiveX控件插入Excel工作表?

其次,用于缓存ActiveX控件的EXD文件存在已知问题.但我们已经检查过 - 这不是我们的情况.

第三,微软有两篇技术文章解释了如何使用注册表"修复"ActiveX的一些ActiveX安全问题:

PRB:错误消息"无法在Excel中插入对象"
http://support.microsoft.com/default.aspx?scid=kb;EN-US;171280

无法将某些可编写脚本的ActiveX控件插入Office 2013文档
http://support.microsoft.com/kb/2793374

看来,这也无济于事 - 或者我们只是做错了什么.

我们尝试的最后一件事 - 办公室信托中心.允许所有ActiveX的使用没有任何限制,并将我们的iGrid ActiveX文件夹添加到受信任位置列表无论如何都无济于事.

Ste*_*hev 14

来自Technet论坛

关闭Excel.

启动Windows资源管理器

选择你的系统驱动器(通常是C :)

使用"搜索"框搜索*.exd

删除找到的所有文件.

再次启动Excel.


小智 2

过去,我们在从 COM 加载项插入 Excel 工作表的 ActiveX 控件中遇到过类似的问题,并且您似乎已经接触了其中的两项(如下)来解决该问题。以下内容可以解决大多数*问题。

从 Excel 2010 开始:文件功能区;选项; 信托中心;信任中心设置(按钮)...;

  • 加载项:取消选中“要求应用程序加载项由受信任的发布者签名”。
  • 宏设置:确保不会在没有通知的情况下禁用所有宏。如果设置为“禁用所有宏并通知”就可以了。
  • ActiveX 设置:确保不会在没有通知的情况下禁用所有控件。如果将其设置为“在启用具有最小限制的所有控件之前提示我”,则可以。这是主要原因。
  • 受信任位置:添加您的控件的目录。

请注意,如果 InstallShield 正确注册了包含程序(例如 dll),则其中一些通常是不必要的。另请注意,我们仍然允许提示(这可能是保护您责任的好主意)。这并没有给我们带来问题。

  • 然而,我来这里的原因是我们有一个案例(200 名客户中),上述方法不起作用,而且这种情况在一周前才开始发生(过去 9 个月一直有效)。我假设此时 Excel 已损坏,因为没有任何更改。除此之外,我们已经尝试了一切。你的问题解决了吗?