【发布时间】:2013-05-29 09:49:42
【问题描述】:
我们的 iGrid ActiveX 网格控件的一个用户需要将其直接插入到 MS Excel 工作表中,但他们没有设法做到这一点 - 始终生成“无法插入对象”错误。我们也可以在Win7 64位和MS Office 2010 32位的测试电脑上重现这个问题。
此 COM 控件已在操作系统中正确注册,并且可以添加到 VBA 用户窗体和其他应用程序,但我们不能为 Excel 工作表执行此操作。看来,这对于 ActiveX 来说是一个常见问题——即使是像 Microsoft DataGrid Control 6.0 这样的遗留问题。在搜索了很长时间的解决方案后,我们得出结论,这是 MS Office 中的安全设置。所以问题可以表述为:如何在 MS Office 中启用特定 ActiveX 控件的使用?
以下是我们找到的相关资源,可能会有所帮助。
首先,Microsoft states那个
并非所有 ActiveX 控件都可以直接在工作表上使用;有些只能在 Microsoft Visual Basic for Applications (VBA) 用户窗体上使用。当您使用这些控件时,如果您尝试将它们添加到工作表中,Excel 会显示消息无法插入对象。
有人知道哪些缺失的功能可能会阻止 ActiveX 控件插入 Excel 工作表吗?
其次,EXD files 用于缓存 ActiveX 控件存在一个已知问题。但我们已经检查过了 - 这不是我们的情况。
第三,微软有两篇技术文章解释了如何“修复”一些 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 的文件夹添加到受信任位置列表无论如何都没有帮助。
【问题讨论】:
-
让我觉得自己很愚蠢。我的问题的解决方案就在你提到的链接中 support.microsoft.com/kb/2793374 。试过了。有效!
-
@richie,我使用的是 Office 2010,而不是 2013,但我仍然收到此错误:“无法插入对象”用于活动 X 命令按钮 - 然后我通常会在其中分配一个或多个宏和验证那个按钮。这仍然适用吗?任何想法,如果 Active X 按钮由于被视为安全威胁而不能再使用,那将是令人遗憾的。
-
@TecMan:你解决过这个问题吗?我遇到了同样的问题...
-
@eggyal,我记得,我通过删除目录 `C:\Users\
\AppData\Roaming\microsoft\forms` 中相应的 .exd 文件解决了这个问题。让我们知道这是否适合您。 -
@TecMan:遗憾的是,我什至无法达到将我的控件的扩展类型库 (exd) 写入磁盘的阶段! Excel 在第一次尝试时因“无法插入对象”而中止。我开了一个new question;希望有人给出答案!