Как в автоматизации Excel корректно обрабатывать ошибку недопустимого формата файла при его открытии?
Вопрос
Я пытаюсь открыть файл Microsoft Excel в программе C#, используя метод excelApp.Workbooks.Open().Как это бывает, если формат файла недействителен, этот метод вызывает отображение окна сообщения об ошибке.Я, однако, не хочу этого;Я хочу корректно обработать эту ошибку в своем собственном коде.
Мой вопрос: как мне это сделать?
Вышеупомянутый метод не вызывает никаких исключений, которые я могу перехватить.Даже если бы это было так, то надоедливое окно сообщения все равно осталось бы.Поэтому, возможно, единственный способ — проверить формат файла. до открывая его.Есть ли в Excel API другой метод, позволяющий такую проверку?
Решение
К сожалению, я не могу смоделировать пример поврежденного файла xls с помощью Excel 2007.
Попробуйте Application.DisplayAlerts = False перед вызовом Workbooks.Open...
Если книгу невозможно открыть, возвращаемое значение будет нулевым.
(т.е.Рабочая книга wkb = Workbooks.Open(....);wkb будет иметь значение null, если DisplayAlerts = False и файл не может быть открыт)
Это основано исключительно на том, что я понимаю об объектной модели Excel.