如何使用C#VSTO自动加载在Microsoft Word中卸载自定义加载项?

时间:2018-02-27 10:43:38

标签: c# vsto office-addins

如何在按钮单击时以编程方式在Word中加载和卸载VSTO加载项。

我已使用以下代码在事件点击中卸载它。

foreach (Office.COMAddIn addin in Globals.ThisAddIn.Application.COMAddIns)
                            {
                                if (addin.ProgId == "DocDrafter")
                                {
                                    addin.Connect = false;
                                    return;
                                }
                            }

但是在文档更改和文档启动时,我必须再次加载加载项。

但是一旦卸载了addin,我就无法再次加载它。

1 个答案:

答案 0 :(得分:1)

你有几种可能性 - 这取决于你想要做什么。首先,您应该(已)阅读AddIns集合和Addin对象的Word对象模型帮助中的信息。 (我们正在讨论用于VSTO项目的Globals.ThisAddIn.Application.Addin /。)

基本上有两种方法。一种是使用Installed对象的Addin属性,该对象从Word UI加载(=true)/卸载(=false)加载项,将其保留在加载项列表(Word的文件/选项/加载项选项卡中的列表),以便用户(或您的代码)可以根据需要再次加载它。听起来这就是你所需要的。

另一种方法是从该列表中删除/添加加载项。使用Addin.Delete方法删除加载项;使用Addins.Add向列表中添加加载项。

如果您从VSTO项目中断开加载项,就像您的代码那样,我认为VSTO范围内的任何方式都不会让您再次连接它...... / p>

文档中的帮助主题:从这里开始:https://msdn.microsoft.com/en-us/vba/word-vba/articles/addins-add-method-word