获取Microsoft.Office.Interop.Excel.Range的所有单元格坐标

有什么方法/财产,我可以用来获取范围的选定项目的string数组?

例如:
范围$B$2:$C$3将给出一个string数组,其值为: $B$2 $B$3 $C$2 $C$3

编辑::
我在这篇文章中find了我的问题的答案。
其实我需要使用下面的程序:

  foreach (Range c in myRange) { string changedCell = c.get_Address( Type.Missing, Type.Missing, XlReferenceStyle.xlA1, Type.Missing, Type.Missing ); MessageBox.Show("Address:" + changedCell + " Value: " + c.Value2); } 

AFAIK,没有一个属性可以给格式的给定范围的单元格地址,你所期待的。

这里是VBA代码来获得你正在寻找的东西

 Function GetCellAddresses(ByVal srcRange As Range) As Variant Dim cellAddresses As Variant Dim cellCtr As Long Dim cellCount As Long Dim cell As Range If Not srcRange Is Nothing Then cellCtr = 1 cellCount = srcRange.Cells.Count ReDim cellAddresses(1 To cellCount) For Each cell In srcRange.Cells cellAddresses(cellCtr) = cell.Address cellCtr = cellCtr + 1 Next End If GetCellAddresses = cellAddresses End Function 

要调用上面的GetCellAddresses(sheet1.Range("A1:B3"))

编辑:使用LINQ,这可以成为1或2class轮。
例如var cellAddresses = srcRange.Select(c => c.Address);

要么

from cell in srcRange select cell.Address

不只是一个方法来为你做所有的事情,给你一个数组这里是你应该去做的过程:构build一个空数组为每个列从第一个单元格列开始for循环,直到你得到最后一个你每个列的范围使用一个嵌套的循环迭代通过列的最后一个项目添加每个项目到您的数组

这是有用的想法