ErrorMessage в Excel - PullRequest
       19

ErrorMessage в Excel

4 голосов
/ 09 марта 2011

У меня возникла срочная проблема со следующей ошибкой, при установке свойства DisplayAlerts в Excel ApplicationClass на false.

var excel = new Excel.Application();
excel.DisplayAlerts = false;

В логах появляется следующее сообщение об ошибке:

System.Runtime.InteropServices.COMException (0x800AC472): Exception from HRESULT: 0x800AC472
     at Microsoft.Office.Interop.Excel.ApplicationClass.set_DisplayAlerts(Boolean RHS)
     at Service.Dispose()

Отображается следующий MessageBox

http://www.xlam.ch/xlimits/Nicht-genug-Speicher-fuer-vollstaendige-Anzeige.gif

Есть идеи по этому делу?

С уважением MacX

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

Вам нужно будет отловить эту ошибку и повторно отправить все, что вы вставили в ячейку в Excel. Это досадная ошибка, и я не смог реализовать и элегантное решение для.

Кто-то может исправить меня, если я ошибаюсь, но я не могу найти способ определить, находится ли Excel в «приостановленном» состоянии или нет, кроме перехвата этого исключения. Это как неизбежное состояние гонки, когда вы не знаете результат, пока не узнаете результат. Я искал способ решить эту проблему, прежде чем сдаться, и реализовал уродливое решение для проверки ошибок.

Извините, я надеюсь, что у кого-то есть лучшее решение для этого, чем я.

0 голосов
/ 09 марта 2011

Я думаю, вам следует позвонить DisplayAlerts в случае Excel.Application, с которым вы работаете. Примерно так:

var excel = new Excel.Application();
excel.DisplayAlerts = false;
...