1

我有一个 .NET (C#) 插件,它使用 COM Shim dll 将自身加载到 Excel 中。当 Excel 正常运行时,插件工作正常,没有任何问题。该插件在 Excel 中显示其自己的自定义工具栏,用于执行不同的命令。

当我将 Excel 嵌入到另一个应用程序(例如 DSOFramer 等)中时,插件开始表现得很奇怪。似乎如果我禁用其工具栏上的按钮,则在设置 Visible 属性后它不会再次启用。此外,我收到一堆“未设置对象引用”错误,因为 Application::Selection 对象为 NULL,这在 Excel 正常运行时永远不会发生。有时,当调用 Application::GetAddIns() 方法时,我也会遇到权限错误。

我不确定这里发生了什么,也找不到解释 Excel 嵌入到其他应用程序中时 Excel COM 插件行为的文章。

4

2 回答 2

1

我不得不承认我对 dSOFramer 了解不多,但我确实遇到了以下项目。我不知道这些是否有帮助。

链接文本

链接文本

于 2009-10-07T20:39:35.207 回答
1

我就这个问题联系了 Microsoft Professional,发现 Microsoft 现在不鼓励嵌入办公应用程序。有人建议我停止将 Excel 嵌入应用程序或仅使用具有功能区 UI 的 Excel 2007。根据 MS 的说法,Ribbon UI 没有这些问题。

CommandBars 的问题是协商只发生在 OnConnection 期间,之后不能进行任何更改。

于 2009-12-29T08:54:42.353 回答