【发布时间】:2018-02-27 19:50:41
【问题描述】:
如何在单击按钮时以编程方式在 Word 中加载和卸载 VSTO 加载项。
我已经使用下面的代码在事件点击 bu 上卸载了它。
foreach (Office.COMAddIn addin in Globals.ThisAddIn.Application.COMAddIns)
{
if (addin.ProgId == "DocDrafter")
{
addin.Connect = false;
return;
}
}
但在文档更改和文档开始时,我必须再次加载加载项。
但是一旦插件被卸载,我就无法再次加载它。
【问题讨论】:
-
在您发表评论之前,我还没有意识到您没有考虑过这部分...从逻辑上讲,如果您卸载加载项,则无法使用加载项重新自己加载!因此,请告诉我们更多关于为什么要卸载加载项的信息。如果仅针对特定文档或文档类型,您不应该有文档级自定义,而不是应用程序级加载项吗?或者它应该是一个加载项,但 UI 的某些部分有时不可见?或者您是否需要两个加载项:一个用于处理文档,另一个“不可见”处理您提到的事件?
-
实际上,我有两个版本的文档...对于版本 1,我想使用插件。如果用户打开版本 2 文档,我希望插件应该被禁用或不应该对用户可见或卸载它..但我用户再次打开该文档应该存在的版本 1。实际上我是 vsto 和 word 插件的新手,所以我找不到正确的解决方案。
-
您有插件吗?或者您是否有文档级别的自定义?文档级自定义是特定于文档(或模板和从模板创建的所有文档)。加载项适用于整个 Word 应用程序。在我看来,您需要阅读 MSDN 上有关文档级自定义的 VSTO 文档。
-
我有一个加载项,我认为我不需要/需要文档级自定义?
-
如果您想将自定义用户界面限制为仅一个文档或文档类型(从模板创建),则需要文档级自定义。根据您告诉我们的情况(文档 1 与文档 2)。
标签: c# vsto office-addins