有时我的excel Addin会被禁用,如果它最终被禁用的COM Addins我可以使用以下代码启用它。但是,如果它以禁用的项目结束,我无法使用此代码启用它。有没有办法可以启用禁用的项目。不知道我是否可以使用regedit做到这一点。
我收到了COM异常{"Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))"}
xl.Application myApp = new xl.Application();
foreach (COMAddIn currentAddIn in myApp.COMAddIns)
{
if (currentAddIn.Description == "Create Excel AddIn" && !currentAddIn.Connect)
{
try
{
currentAddIn.Connect = true;
}
catch (Exception)
{
CommonMethods.ExceptionHandler("Create tab couldn't be enabled", new StackTrace(true).GetFrame(0).GetFileLineNumber(), new StackTrace(true).GetFrame(0).GetMethod());
}
break;
}
}
return false;
}
答案 0 :(得分:1)
这是最好,最有效的解决方案。
RegistryKey myKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Office\Excel\Addins\Create.ExcelAddIn", true);
if (myKey != null)
{
myKey.SetValue("LoadBehavior", "3", RegistryValueKind.DWord);
myKey.Close();
}
答案 1 :(得分:-1)
我知道完全禁用加载项的唯一方法是删除下面位置的注册表项,但在Excel打开时无法完成(将16.0更改为Office版本):
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Word\Resiliency\DisabledItems\