Невозможно привести COM-объект ... к интерфейсному типу "Microsoft.Office.Interop.Excel.Application"
Текст Ошибки:
System.InvalidCastException: Невозможно привести COM-объект типа "System.__ComObject" к интерфейсному типу "Microsoft.Office.Interop.Excel.Application".Также может быть ошибка 0x80029C4A(TYPE_E_CANTLOADLIBRARY)
Операция завершилась со сбоем, поскольку вызов QueryInterface COM-компонента для интерфейса с IID "{000208D5-0000-0000-C000-000000000046}" возвратил следующую ошибку:
Библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Возможная причина:
Проблема в том, что офис "испорчен" или в реестре остались следы неудачных установок других версий MS Office.
Что делать:
1) Пробуем восстановить офис:
- Установка и удаление программ
- Microsoft Office - Изменить - Восстановить.
- Перегружать машину не нужно, пробуем печатать...
2) Если восстановление не помогло:
Ручное решение описано тут: https://stackoverflow.com/questions/12957595/error-accessing-com-components
- Ищем HKEY_CLASSES_ROOT\Interface\{000208D5-0000-0000-C000-000000000046}\TypeLib
на 64-х разрядной windows (если офис 32-х разрядный) надо искать раздел HKEY_CLASSES_ROOT\Wow6432Node\Interface\{000208D5-0000-0000-C000-000000000046}\TypeLib
если же офис 64-х разрядный, то ищем по пути выше, без Wow6432Node
- Запоминаем guid и версию из раздела (у меня {00020813-0000-0000-C000-000000000046}, версия 1.7)
- Ищем этот guid среди разделов в HKEY_CLASSES_ROOT\TypeLib
- Делаем на всякий случай копию раздела с этим guid (HKEY_CLASSES_ROOT\TypeLib\{00020813-0000-0000-C000-000000000046})
- Удаляем подразделы других версий с пустым содержимым (у клиента была также версия 1.7 и пустой подраздел 1.8, удаление 1.8 исправило ошибку)
- Перезагружаться не надо
Обсуждалось на форуме
Сервис поддержки клиентов работает на платформе UserEcho