2013-04-17 39 views
1

我有一个有很多功能的Excel插件。在标题为“配置设置”的功能区上,我有一个按钮,允许用户选择是否允许某些选项(是否包含右键单击菜单或在我的功能区上显示某些按钮)。以编程方式重新加载Excel加载项

我知道定义右键单击菜单或设计功能区的唯一方法是在excel插件的启动中。

我有一个配置文件可以在加载时进行检查,但是如果用户使用我的功能区按钮更改配置,那么在excel重新打开或用户手动重新加载插件之前,它不起作用。有没有办法做到这一点编程?

+0

您不仅可以在加载时更改右键单击菜单或功能区,而且可以在插件正在工作的任何其他时间更改右键菜单或功能区。 –

回答

1

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

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

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

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

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

但是定制带的按钮(例如命名为“Ribbon1”)可以在运行时通过经由“全局”对象访问其属性被改变:

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

希望它能帮助, 约尔格

相关问题