我有一个.NET(C#)插件,它使用COM Shim dll将自身加载到Excel中。当Excel正常运行时,插件工作正常,没有任何问题。插件在Excel中显示自己的自定义工具栏,用于执行不同的命令。
当我将Excel嵌入到另一个应用程序(例如DSOFramer等)中时,插件开始表现得很奇怪。似乎如果我在其工具栏上禁用一个按钮,那么在设置Visible属性后它不会再次启用。 此外,我得到一堆“对象引用未设置”错误,因为Application :: Selection对象是NULL,这在Excel正常运行时永远不会发生。有时,当调用Application :: GetAddIns()方法时,我也会收到权限错误。
我不确定这里发生了什么,当Excel嵌入到其他应用程序中时,我找不到解释Excel COM Addins行为的文章。