【发布时间】:2011-01-26 08:27:50
【问题描述】:
在 Excel 公式中,您可以使用 =ISERR(A1) 或 =ISERROR(A1)
在 VBA 宏中,您可以使用 IsError(sheet.Cells(1, 1))
但是使用 VSTO Excel Addin 项目,我没有在 Microsoft.Office.Interop.Excel API 下找到类似的功能。我只想知道单元格中是否有错误,我对错误的类型并不感兴趣。
我目前的解决方法是对所有现有的错误消息执行此操作。:
if (((Range)sheet.Cells[1, 1]).Text == "#N/A" || ...)
有没有更好的方法来做到这一点。 API中有一个简单的函数吗?
【问题讨论】:
-
(sheet.Cells[1,1] as Range).Text看起来更好。 -
它看起来确实更好,但是如果由于某种原因 Cells[1,1] 不是 Range 类型,那么我们将有 NullReferenceException 而不是 InvalidCastException。在这种情况下,我更喜欢获得更精确的异常类型而不是提高可读性。