excel - 将 Microsoft DataGrid 等 ActiveX 控件添加到 Excel 工作表时出现 "Cannot insert object"错误

标签 excel security activex

我们的 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/

相关文章:

c# - 无需 VS 设计器即可动态添加 ActiveX 控件

javascript - Excel 正则表达式的 JS 模拟

excel - 将整列复制到文本框中

excel - 根据范围内的最高值设置列颜色

c# - MSTEST 委托(delegate)人许可

sql-server - SQL Server 2005 : How Secure is SQL Server Authentication?

c# - .NET WebBrowser 控件中的阻止对话框

excel - 如何从 Excel vba 将日文字符插入 ECC

javascript - Chrome 不允许向允许的域发出 Ajax 请求

c++ - 如何在 C++ 中读取/写入应用程序的内存