以编程方式重新加载Excel Addin

时间:2013-04-17 23:07:26

标签: c# excel vsto excel-addins

我有一个具有许多功能的excel插件。我在功能区上有一个标题为“配置设置”的按钮,允许用户选择是否允许某些选项(是否包含右键菜单,或在我的功能区上显示某些按钮)。

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

我有一个配置文件在加载时被检查,但是如果用户使用我的功能区按钮更改配置,则在重新打开excel或用户手动重新加载插件之前它无效。有没有办法以编程方式执行此操作?

2 个答案:

答案 0 :(得分:1)

可能你有两个插件。 (Addin1,Addin2)​​

第一个插件(Addin1)没有任何色带但是读取配置然后启用另一个插件(Addin2)​​。

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

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

答案 1 :(得分:0)

我认为您无法从同一加载项中重新加载加载项。 我自己尝试了 - 只是卸货对我有用。

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

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

希望它有所帮助, 约尔格