Как исправить исключение, когда я вызываю новый Microsoft.Office.Interop.Word.Application()C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить исключение, когда я вызываю новый Microsoft.Office.Interop.Word.Application()

Сообщение Anonymous »

Когда я вызываю new Microsoft.Office.Interop.Word.Application() для инициализации, произошла ошибка. Сообщение выглядит следующим образом:


Невозможно привести COM-объект типа «Microsoft.Office.Interop.Word.ApplicationClass» к типу интерфейса « Microsoft.Office.Interop.Word._Application'. Эта операция не удалась, поскольку вызов QueryInterface компонента COM для интерфейса с IID «{00020970-0000-0000-C000-000000000046}» завершился неудачно из-за следующей ошибки: Библиотека не зарегистрирована. (Исключение из HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).


Некоторая помощь была получена после поиска в MSDN (эта страница).
Но когда я проверил HKEY_CLASSES_ROOT\Wow6432Node\Interface{00020970-0000-0000-C000-000000000046}\TypeLib, я обнаружил, что моя «Версия» — 3.0 вместо 8.6, «(По умолчанию)» — { 00020905-0000-4B30-A977-D214852036FF} вместо {00020905-0000-0000-C000-000000000046}. А в HKEY_CLASSES_ROOT\Wow6432Node\TypeLib{00020905-0000-0000-C000-000000000046 должен быть только 1 подраздел с именем 8.7 вместо 8.6.
Я пытался изменить версию в HKEY_CLASSES_ROOT\Wow6432Node\Interface{00020970-0000-0000-c000-000000000046}\TypeLib на 8.7 и (по умолчанию) на {00020905-0000-0000-0000-c000-000000000046}, но все равно не работает.
Я также, согласно инструкциям на этой странице, пытаюсь выполнить "Быстрое восстановление" и полностью переустановить Office. Как мне изменить ключи реестра, чтобы добиться успеха?

Моя версия Word — Professional 2019 (нажми и работай).

Кроме того, Я уверен, что мой код правильный. Потому что я написал код на другом компьютере, и он работал отлично.

Вот немного моего кода:

Microsoft.Office.Interop.Word.Application wordApp;
Microsoft.Office.Interop.Word.Document wordDoc;
wordApp = new Microsoft.Office.Interop.Word.Application();
wordApp.Visible = visible;
Object Nothing = Missing.Value;
wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);


Подробнее здесь: https://stackoverflow.com/questions/560 ... d-applicat
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Microsoft Office Interop Word против библиотеки объектов Microsoft Office
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Как исправить исключение, когда я называю New Microsoft.office.interop.word.application ()
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как исправить исключение, когда я называю New Microsoft.office.interop.word.application ()
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Office.Interop.Excel и Office.Interop.Outlook Развертывание по щелчку мыши и Windows 11
    Anonymous » » в форуме C#
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Измените список слов в файле Word, используя Microsoft.Office.Interop.Word и C#.
    Anonymous » » в форуме C#
    0 Ответы
    43 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»