1

这个 VB 函数将如何看起来像 C#?目标是确定一个字符串是否ref代表一个有效的数据表Excel.Range。这不是一个简单的 VB 到 C# 的转换,因为 Range 不能被构造。

Private Function IsRange(ref) As Boolean
'   Returns True if ref is a Range
    Dim x As Range
    On Error Resume Next
    Set x = Range(ref)
    If Err = 0 Then IsRange = True Else IsRange = False
End Function

最好的

4

1 回答 1

0

我本来希望找到一种方法,不必依赖异常来检查单元格引用的有效性。但我找不到直接测试它的方法。

因此,我使用的是 OP 的方法。问题是这Microsoft.Office.Interop.Excel.Range是一个接口,不能直接创建。根据这个答案,解决方案是使用get_Range来自_Applicationor的方法Sheet

Microsoft.Office.Interop.Excel._Application ExcelApp;

private bool IsRange(string refr) {
   try {
      var unused = ExcelApp.Range[cellReference, Type.Missing];

      return true;
   }
   catch {
      return false;
   }
}
于 2018-04-12T23:24:11.057 回答