我们的 iGrid ActiveX 网格控件的一个用户需要将其直接插入到 MS Excel 工作表中,但他们未能做到这一点 - 始终生成“无法插入对象”错误。我们还可以在 Win7 64 位和 MS Office 2010 32 位下的测试电脑上重现此问题。
此 COM 控件已在操作系统中正确注册,并且可以添加到 VBA 用户窗体和其他应用程序中,但我们无法对 Excel 工作表执行此操作。看来,这是 ActiveX 的一个常见问题,甚至是 Microsoft DataGrid Control 6.0 等旧版 ActiveX 的常见问题。经过长时间寻找解决方案后,我们得出的结论是,这是 MS Office 中的安全设置。因此,问题可以表述为:如何在 MS Office 中启用特定 ActiveX 控件的使用?
以下是我们找到的相关资源,可能会有所帮助。
首先,Microsoft states那个
Not all ActiveX controls can be used directly on worksheets; some can be used only on Microsoft Visual Basic for Applications (VBA) UserForms. When you work with these controls, Excel displays the message Cannot insert object if you try to add them to a worksheet.
有人知道缺少哪些功能可能会阻止 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 的文件夹添加到受信任位置列表无论如何都没有帮助。
最佳答案
来自 Technet 论坛
关闭 Excel。
启动 Windows 资源管理器。
选择您的系统驱动器(通常是 C:)
使用搜索框搜索 *.exd
删除它找到的所有文件。
再次启动 Excel。
关于excel - 将 Microsoft DataGrid 等 ActiveX 控件添加到 Excel 工作表时出现 "Cannot insert object"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893446/