以编程方式重新加载Excel加载项

我有一个Excel插件,有很多function。 在标题为“configuration设置”的function区中,我有一个button,允许用户select是否允许某些选项(无论是右键单击菜单,还是显示function区上的某些button)。

我知道定义一个右键单击菜单或devisefunction区的唯一方法是在excel插件的启动。

我有一个configuration文件,加载检查,但如果用户使用我的function区button更改configuration,它没有任何效果,直到Excel重新打开或用户手动重新加载插件。 有没有办法做到这一点编程?

也许你可以有两个插件。 (Addin1,Addin2)

第一个插件(Addin1)没有任何function区,但读取configuration,然后启用另一个插件(Addin2)​​。

要启用插件,请使用以下代码片段。

foreach (COMAddIn addin in Application.COMAddIns) { if (addin.ProgId.ToLower().Contains("addin2") && addin.Connect != true) { addin.Connect = true; } } 

我不认为你可以从同一个加载项中重新加载一个加载项。 我自己尝试了 – 只是卸载已经为我工作。

但是自定义function区的button(例如名为“Ribbon1”)可以在运行时通过“Globals”对象访问其属性进行更改:

 Globals.Ribbons.Ribbon1.myRibbonButton.Visible = false; 

Jörg,希望有帮助