我们的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工作表?
其次,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 Trust Center。允许使用所有ActiveX没有任何限制,并将带有iGrid ActiveX的文件夹添加到受信任位置列表中无论如何都无济于事。
答案 0 :(得分:14)
来自Technet论坛
关闭Excel。
启动Windows资源管理器。
选择您的系统驱动器(通常为C :)
使用“搜索”框搜索* .exd
删除找到的所有文件。
再次启动Excel。
答案 1 :(得分:2)
我们过去曾遇到类似的问题,我们在COM加载项的Excel工作表中插入了一个ActiveX控件,您似乎已经触及了两个项目(下面)来解决它。以下几点解决了这个问题。
从Excel 2010:文件功能区;选项;信托中心;信任中心设置(按钮)...;
请注意,如果InstallShield正确注册了包含程序(例如dll),则通常不需要其中一些。另请注意,我们仍然允许提示(可能是一个好主意,以保护您的责任)。这并没有给我们带来麻烦。
答案 2 :(得分:1)
这解决了我:
转到以下注册表:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Office \ 15.0 \ Common \ COM Compatibility {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
答案 3 :(得分:0)
前几天我遇到了这个问题,然后又回到了我的解决方案的基础知识,因为我不喜欢编辑注册表的想法。
我通过简单地重新注册我使用的主要控件类型来解决了这个问题,例如Command按钮,Comboboxes,Listboxes,Spinners等。
要执行此操作,请进入“开发人员”选项卡,然后单击“插入(控件)
”通过选择“更多控件”,在Activex控件的右下角,您可以重新注册您可能需要的任何控件。