Excel OLE - .NET Excel AddIn在Excel嵌入应用程序时的行为有所不同

时间:2009-10-02 17:58:42

标签: excel ole embedding add-in comaddin

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

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

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

2 个答案:

答案 0 :(得分:1)

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

link text

link text

答案 1 :(得分:1)

我就此问题与Microsoft Professional联系,发现微软现在不鼓励嵌入办公应用程序。我被建议停止将Excel嵌入到应用程序中或仅使用具有功能区UI的Excel 2007。据MS称,Ribbon UI没有这些问题。

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