В автоматизации Excel, как изящно обрабатывать ошибки неверного формата файла при открытии файла?

Я пытаюсь открыть файл Microsoft Excel в программе на C#, используя метод excelApp.Workbooks.Open(). Как это бывает, если формат файла является недопустимым, этот метод вызывает отображение окна сообщения об ошибке. Я, однако, не хочу этого; Я хочу изящно обработать эту ошибку в своем собственном коде.

У меня вопрос, как мне это сделать?

Вышеуказанный метод не выдает никаких исключений, которые я могу поймать. Даже если бы это было так, в любом случае все еще есть это противное сообщение. Так что, возможно, единственный способ - проверить формат файла перед его открытием. Есть ли тогда другой метод в Excel API, чтобы позволить такую ​​проверку?

1 ответ

Решение

Извините, я не могу смоделировать пример испорченного файла xls в Excel 2007.

Попробуйте Application.DisplayAlerts = False перед вызовом Workbooks.Open...

Если книгу невозможно открыть, возвращаемое значение будет нулевым.
(т.е. Workbook wkb = Workbooks.Open(....); wkb будет нулевым, когда DisplayAlerts = False и файл не может быть открыт)

Это чисто на основе того, что я понимаю об объектной модели Excel.

Другие вопросы по тегам