Как в автоматизации Excel корректно обрабатывать ошибку недопустимого формата файла при его открытии?

StackOverflow https://stackoverflow.com/questions/390920

  •  23-08-2019
  •  | 
  •  

Вопрос

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

Мой вопрос: как мне это сделать?

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

Это было полезно?

Решение

К сожалению, я не могу смоделировать пример поврежденного файла xls с помощью Excel 2007.

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top