Невозможно привести com объект типа microsoft office interop excel applicationclass
Обновлено: 07.07.2024
Тем не менее, я не мог избавиться от этой ошибки - я считаю, что у нее есть собственное быстрое решение.
Я немного покопался на этом сайте и наткнулся на это решение: тип взаимодействия не может быть встроен
Однако я не мог понять, поэтому не мог реализовать то, что было предложено в качестве решения.
Любая помощь очень ценится.
Если это не ошибка кода, удалите указанный ниже ключ из реестра.
Пуск -> Выполнить -> regedit -> HKEY_CLASSES_ROOT -> TypeLib -> -> 1.8 / 1.7 (Удалить это)
Решение. Эту проблему можно решить, удалив недопустимый раздел реестра, оставшийся от более поздней версии Office. Следуйте вышеуказанным шагам.
Причина: эта проблема вызвана оставшимся разделом реестра, если вы понизили версию Microsoft Office с Office 2010 до Office 2007 или с Office 2013 до Office 2010 или 2007.
Сообщите мне, если вам не помогло это решение
Microsoft Office 365
Я запускал Microsoft Office 365 с Windows 10 и безуспешно пробовал упомянутые решения для удаления раздела реестра.
Я пошел к панели управления, пытаясь восстановить пакет Office 365.
Выбрал быстрый ремонт
Еще раз попробовал мою программу, и все заработало!
Я уверен, что ответы на этот вопрос (и аналогичные вопросы), предлагающие редактировать реестр и удалять старые ссылки на версии Office, которых больше нет на компьютере верны.
Я добавляю этот ответ только потому, что сейчас пинаю себя. Два часа потратил на поиски ключей в реестре и ни к чему не привело. Последний бросок кости заключался в том, чтобы попробовать простое ремонт в Microsoft Office и вдруг моя ошибка исчезла.
- Благословения вам, я застрял с последних 45 минут
Windows 7 x64 / Office 365 (16.0.x) 32-разрядная / VS 2019
P.S> Была произведена проверка "после обработки" Process Monitor - теперь файл берется из первым зондом.
Компьютер был обновлен до 64-разрядной версии Office 2016, и интерфейс COM генерировал исключения при вызове из 32-разрядного приложения. У него не было старых записей TypeLib, подобных тем, что были в ответе Джайеша.
Сравнение трассировки ProcessMonitor с работающей машиной с Office 2016 привело к тому, что в
HKEY_CLASSES_ROOT \ Wow6432Node \ TypeLib \
Рабочая машина проверит несуществующий ключ реестра и вернет
На отказавшей машине был ключ реестра, но вскоре после этого возникло исключение.
После многократного удаления раздела реестра, повторного запуска трассировки и удаления следующего отказавшего ключа функциональность COM-интерфейса была восстановлена.
- Попробовав все, что я мог придумать, я прочитал это и понял, что мой компилятор настроен на 32-битный. Снятие отметки с этого поля было последней частью головоломки.
В моем случае я удаляю regedit в:
и проблема решена.
В реестре были 1.7 и 1.8. Решено удалением:
Читайте также: