После перехода с Excel 2013 на 2010 (например, удаление 2013 года и установка 2010), когда я пытаюсь получить доступ к Excel OM из моей надстройки следующим образом:
if (this.Application.ActiveWorkbook == null)
{
return;
}
Я получаю следующее исключение:
Невозможно передать COM-объект типа "System.__ ComObject" в тип интерфейса "Microsoft.Office.Interop.Excel._Application". Эта операция завершилась неудачно, потому что вызов QueryInterface на COM-компоненте для интерфейса с IID '{000208D5-0000-0000-C000-000000000046} не удался из-за следующей ошибки: библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Для решения проблемы я предпринял следующие шаги, но никто из них не работал:
Однако ничего не работает. Есть ли что-то, что мне не хватает, или я действительно должен вытереть машину?
EDIT: Я предполагаю, что в реестре все еще есть конфликт, но я понятия не имею, где...
Спасибо, в adv!
Нашел решение - я забыл удалить одну ссылку на Excel 2013:
HKEY_CLASSES_ROOT\TypeLib {00020813-0000-0000-C000-000000000046}\1,8
После удаления 1.8
мой исправленный реестр выглядит следующим образом:
...