实际上,我有一个正在运行的C#应用程序。
当它启动时,它运行一个excel实例并将其保存到一个变量中:
excelApp = new Excel.Application();
然后我循环浏览每个excel的加载项,找到我自己创建的added:
private void getAddin()
{
const string addinName = "myAddInName";
foreach (Office.COMAddIn addin in excelApp.COMAddIns)
if (addin.Description.ToUpper().Contains(addinName.ToUpper()))
{
myAddin = addin;
return;
}
}问题是,我的插件可能在停用的元素列表中。(由于一些崩溃)
然后我必须转到(在excel的框架上):
File >Options >AddIns >Manage >Deactivated elements >Achieve >"myAddin" >Activate
要使我的外接程序再次工作(在excel重新启动后)...
我尝试使用插件的属性来重新激活它,但在这种情况下可能会再次导致应用程序崩溃。
myAddin.Connect = loadAddin;有人知道如何解决这个问题/使用C#自动重新激活禁用的插件吗?
发布于 2012-05-15 04:35:58
这应该会对http://msdn.microsoft.com/en-us/library/aa662931(v=office.11).aspx有所帮助
我相信你需要做的是
if(!myAddin.Connect)
{
myAddin.Connect =true;
}https://stackoverflow.com/questions/9228155
复制相似问题