我想知道如何在Word中以编程方式加载和卸载VSTO加载项。我正在使用Word 2007和VS2010与C#。
我认为使用Microsoft.Office.Interop.Word.COMAddins和.Addins属性可能会有运气,但.Addins属性给出一个空列表,COMAddins是不透明COM对象的集合。
alternative question建议使功能区菜单不可见,但实际上我想完全卸载加载项。
答案 0 :(得分:2)
我有类似的要求,并通过一点点欺骗来实现。
我有一个名为AddinLauncher的插件(没有色带),它会查找用户类型并启动或关闭其他插件。
此代码在AddinLauncher Addin Startup事件期间调用。
foreach (COMAddIn addin in Globals.ThisAddin.Application.COMAddins)
{
if (**specify your own condition**)
{
addin.Connect = true;
}
}
部署中需要进行以下更改
AddinLaucher插件的Loadbehaviour为3,其他所有插件均为0。 有关Loadbehaviour的更多信息here