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

我们的iGrid ActiveX网格控件的用户之一需要将其直接插入到MS Excel工作表中,但他们没有设法做到这一点 – “不能插入对象”的错误一直在生成。 我们也可以在Win7 64位和MS Office 2010 32位的testing电脑上重现这个问题。

这个COM控件在操作系统中正确的注册,可以添加到VBA用户窗体和其他应用程序,但我们不能这样做的Excel表。 看来,这是ActiveX的常见问题 – 甚至像Microsoft DataGrid Control 6.0这样的传统问题。 在search了大量时间的解决scheme之后,我们得出结论,这是MS Office中的安全设置。 所以这个问题可以表述如下:如何启用在MS Office中使用特定的ActiveX控件?

以下是我们find的相关资源,可能有帮助。

首先, 微软表示

并非所有的ActiveX控件都可以直接在工作表上使用; 有些只能用于Microsoft Visual Basic for Applications(VBA)用户窗体。 当您使用这些控件时,如果您尝试将它们添加到工作表,Excel将显示消息无法插入对象。

有谁知道什么缺less的function可能会阻止ActiveX控件插入到Excel工作表中?

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

第三,有两篇来自Microsoft的技术文章,解释了如何使用registry“修复”ActiveX的一些ActiveX安全问题:

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

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

看来,这也无济于事 – 或者我们只是做了一些错误的事情。

我们尝试的最后一件事 – Office信任中心。 允许所有ActiveX的使用没有任何限制,并将我们的iGrid ActiveX文件夹添加到受信任的位置列表并没有任何帮助。

从Technet论坛

closuresExcel。

启动Windows资源pipe理器

select你的系统驱动器(通常是C 🙂

使用search框search* .exd

删除它find的所有文件。

再次启动Excel。

过去我们遇到过一个类似的问题,那就是我们在COM插件的Excel工作表中插入了一个ActiveX控件,而且您似乎已经触及了两个项目(下面)来解决这个问题。 以下解决了大部分时间的问题。

从Excel 2010:文件function区; 选项; 信托中心; 信任中心设置(button)…;

  • 加载项:UNCHECK'要求应用程序加载项由可信发布者签名'。
  • macros设置:确保没有通知没有禁用所有的macros。 如果设置为“禁用所有通知的macros”,则可以。
  • ActiveX设置:确保没有通知禁用所有控件。 可以设置为“在启用所有控件之前以最小的限制提示我”。 这是主要原因。
  • 受信任的位置:添加您的控件的目录。

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

  • 然而,我在这里的原因是,我们有一个案例(200名客户),上述不工作,这是刚刚开始发生在一个星期前(这是在过去的9个月)。 因为没有变化,所以我现在假设Excel腐败。 我们已经尝试了一切。 你解决了吗?

这为我解决了这个问题:

转到以下registry:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 15.0 \ Common \ COM兼容性{8856F961-340A-11D0-A96B-00C04FD705A2}

然后将数值数据从400设置为0。

希望能帮助到你。

对不起忘了给发现它的人。 这里。 http://social.technet.microsoft.com/Forums/office/en-US/7942c472-2b5a-4005-888f-43ece2a5800a/adding-web-browser-control-to-excel-2013?forum=officeitpro&prof=required

我有一天遇到了这个问题,回到基本的解决scheme,因为我不喜欢编辑registry的想法。

我解决了这个问题,只需重新注册我使用的主要types的控制,即命令button,combobox,列表框,纺纱机等。

要做到这一点,进入开发人员选项卡,然后单击插入(一个控件)

通过select“更多控件”,在Activex控件的右下angular,您可以重新注册您可能需要的任何控件。