在Excel自动化中,如何在文件打开时正常处理无效的文件格式错误?

我正在尝试使用“excelApp.Workbooks.Open()”方法在C#程序中打开Microsoft Excel文件。 碰巧,如果文件的格式无效,该方法会导致显示错误消息框。 但是,我不想那么做; 我希望在我自己的代码中正确处理这个错误。

我的问题是,我该怎么做?

上面的方法不会抛出任何我能捕捉到的exception。 即使这样做,无论如何,仍然有那个讨厌的消息框。 所以也许唯一的办法就是打开文件之前validation文件格式。 那么,Excel API中的另一种方法是否允许进行validation?

我很抱歉,我无法模拟Excel 2007中损坏的xls文件示例。

在调用Workbooks.Open之前尝试Application.DisplayAlerts = False …

如果工作簿无法打开,则返回的值将为空。
(即工作簿wkb = Workbooks.Open(….);当DisplayAlerts = False时wkb将为空,并且文件不能被打开)

这纯粹是基于我对excel对象模型的理解。