0x800a03ec Исключение при использовании Microsoft.Office.Interop.Excel.Workbook.Open () - PullRequest
0 голосов
/ 29 октября 2019

Я создал плагин AutoCAD и распространил его по группе пользователей. Проблема в том, что я сталкиваюсь с тем, что она работает для некоторых пользователей, а на некоторых компьютерах происходит сбой. Эта проблема может быть с компьютером или кодом, поэтому, пожалуйста, прочитайте.

string strFullPath= "D:\Model\Motor-Manifest\Manifest.xlsm";
Excel.Application excelapplication= new Excel.Application();
Excel.Workbook XlWorkBook = excelapplication.Workbooks.Open(strFullPath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, false);

Я получил следующую ошибку:

System.Runtime.InteropServices.COMException (0x800A03EC): Исключение из HRESULT: 0x800A03EC

в Microsoft.Office.Interop.Excel.Workbooks.Open (Строка Имя файла, Объект UpdateLinks, Объект ReadOnly, Формат объекта, Пароль объекта, Объект WriteResPassword, Объект IgnoreReadOnlyRecommended, Источник объекта, Разделитель объектов, Редактируемый объект, Уведомить объект, Конвертер объектов, Объект AddToMru,Object Local, Object CorruptLoad)

То, что я пробовал и не работало

  • Попытка переустановки той же версии офиса (Office 365 Proplus V1902)на уязвимых машинах, которые были предложены в этой статье
  • Убедитесь, что файл действителен, не поврежден, доступен для записи, не защищен
  • Региональные настройки формата одинаковы для всех машин, предлагаемых здесь. здесь
  • Изменены настройки в "DCOM Config" для приложения Excel, объяснено здесь
  • Пробовал с помощью excelapplication.Workbooks.Open(strFullPath);
  • Пробовал с помощью Epplus, но это привело к повреждению файла, обратите внимание, что я не могу изменить этот файл в любом случае, это файл, который мы получаем от кого-то еще
  • Пробовалиспользование двух разных версий interop dll (14.0 и 15.0)
  • Пробовал с использованием файла xlsx
  • Местный язык установлен на английском языке США, как рекомендовано здесь

Несколько наблюдений

  • Этот плагин раньше работал на всех компьютерах, поэтому мы пытались восстановить систему на зараженных машинах, но не работали

  • Когда файл Excel открывается вручную на «зараженных машинах», он извлекает из него макросы, но не удаляется антивирусом Ссылка

Все компьютеры используют AutoCAD 2018, VS 2017, Office 365 Proplus и Windows 10 (X64).

Что мне здесь делать? Любая помощь очень ценится. Большое спасибо.

1 Ответ

0 голосов
/ 29 октября 2019

После попытки установки и переустановки во многих различных приложениях было обнаружено приложение Access Database Engine, и на зараженных компьютерах были установлены обе версии 2010, 2016 года. После удаления версии 2016 года все заработало нормально. Это не сработало после удаления 2010

...