这个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
最佳
答案 0 :(得分:0)
我希望找到一种方法,不必依赖异常来检查单元格引用的有效性。但我无法找到直接测试它的方法。
所以我正在使用OP的方法。问题是Microsoft.Office.Interop.Excel.Range
是一个接口,无法直接创建。根据此answer,解决方案是使用get_Range
或_Application
中的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;
}
}