C#:Excel:确定字符串是否为有效的范围引用?

C#:Excel:确定字符串是否为有效的范围引用?,c#,.net,vb.net,excel-interop,vb.net-to-c#,C#,.net,Vb.net,Excel Interop,Vb.net To C#,这个VB函数看起来像C#吗?目标是确定字符串ref是否表示有效的数据表Excel.Range。这不是一个简单的VB到C的转换,因为无法构造范围 私有函数IsRange(ref)为布尔值 '如果ref是一个范围,则返回True Dim x As范围 出错时继续下一步 设置x=范围(参考) 如果Err=0,则IsRange=True,否则IsRange=False 端函数 最好的我希望找到一种不必依赖异常来检查单元格引用有效性的方法。但我找不到直接测试的方法 因此,我使用OP的方法。问题在于Mic

这个VB函数看起来像C#吗?目标是确定字符串
ref
是否表示有效的数据表
Excel.Range
。这不是一个简单的VB到C的转换,因为无法构造范围

私有函数IsRange(ref)为布尔值
'如果ref是一个范围,则返回True
Dim x As范围
出错时继续下一步
设置x=范围(参考)
如果Err=0,则IsRange=True,否则IsRange=False
端函数

最好的

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

因此,我使用OP的方法。问题在于
Microsoft.Office.Interop.Excel.Range
是一个接口,不能直接创建。因此,解决方案是使用
\u应用程序
工作表
获取范围
方法

Microsoft.Office.Interop.Excel._Application ExcelApp;

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

      return true;
   }
   catch {
      return false;
   }
}

:)@Sylca不幸地不是那么容易。希望它能帮助你。:-)现在没有什么是容易的,我的朋友。最好的:-)@Sylca:不,没有。正如我的意思,不幸的是,它没有帮助。@HeinrichStack您确定您的示例源代码是VB.NET吗?像这样构造一个
范围
对于VB.NET来说似乎是无效的。也许是VBA?