Произошла ошибка при выполнении автоматизации Office 365 с библиотекой Microsoft.Office.Interop - PullRequest
0 голосов
/ 18 марта 2020

В последние дни я наблюдаю странное поведение при автоматизации сервера Excel с использованием библиотеки Microsoft.Office.Interop.Excel.

Проблема возникла в разных версиях Excel (2016, 2019, 365), и это Случайно на том же файле (иногда это работает, иногда это не так). Приложение работало в течение многих лет без каких-либо проблем. Впервые мы столкнулись с этой проблемой 14 января 2020 года, и, выполнив поиск в Интернете, мы обнаружили, что это совпадает с датой обновления безопасности, указанной на этой странице Microsoft https://docs.microsoft.com/en-us/officeupdates/office365-proplus-security-updates. Есть идеи, как решить эту проблему? Мы попытались проанализировать Application Event Viewer, чтобы выяснить, есть ли более подробные сведения о проблеме, но не было найдено значимых подробностей. Проблема случайно возникает в «Workbooks.Open»:

...
string filePath = @"C:\ExcelFiles\Test.xlsx";
Application excelApp = new Application();
excelApp.Workbooks.Open(filePath , true, true);
...

Эта проблема наблюдается на Microsoft Windows Server 2016 и Microsoft Windows Server 2019. Я также заметил, что проблема всегда возникала, когда я открыл удаленный рабочий стол на сервере, но когда я вышел из системы, система автоматизации Excel снова начала работать правильно. Я понятия не имею, как RDP может конфликтовать с автоматизацией Excel.

Это исключение, которое мы получаем при сбое процесса при открытии книги:

Ошибка удаленного вызова процедуры. (Исключение из HRESULT: 0x800706BE) System.Runtime.InteropServices.COMException (0x800706BE): сбой удаленного вызова процедуры. (Исключение из HRESULT: 0x800706BE) в Microsoft.Office.Interop.Excel.Workbooks.Open (строковое имя файла, объект UpdateLinks, объект ReadOnly, формат объекта, пароль объекта, объект WriteResPassword, объект IgnoreReadOnlyRecommended, происхождение объекта, разделитель объектов, объект редактируемый, Уведомление об объекте, Конвертер объектов, Объект AddToMru, Объект Local, Объект CorruptLoad)

Спасибо за вашу драгоценную помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...