Delphi 获取ExcelRange对象的坐标
在Excel的COM API中: 给定一个Delphi 获取ExcelRange对象的坐标,delphi,excel,com,Delphi,Excel,Com,在Excel的COM API中: 给定一个ExcelRange对象,如何确定其中包含哪些行和列 我不想要范围的内容,只是范围的“坐标”,最好是整数 我注意到,ExcelRange既有一个行属性,也有一个列属性,但是这些属性只指示范围左上角的行和列 注意:我使用的是Delphi,但是这个问题可能与通过COM使用Excel的任何语言有关,因此不需要使用Delphi进行回答。假设一个简单的矩形范围,然后使用ExcelRange对象的行和列属性。所选内容的左上角由Range.Row和Range.Colu
ExcelRange
对象,如何确定其中包含哪些行和列
我不想要范围的内容,只是范围的“坐标”,最好是整数
我注意到,ExcelRange
既有一个行
属性,也有一个列
属性,但是这些属性只指示范围左上角的行和列
注意:我使用的是Delphi,但是这个问题可能与通过COM使用Excel的任何语言有关,因此不需要使用Delphi进行回答。假设一个简单的矩形范围,然后使用
ExcelRange
对象的行和列属性。所选内容的左上角由Range.Row
和Range.Column
确定。所选行数和列数由Range.rows.Count
和Range.columns.Count
给出
一般来说,Excel范围可以由多个非连续区域组成。在这种情况下,您可以使用ExcelRange
的Areas
属性来迭代组成复杂范围的简单矩形范围
来说明下面的代码:
procedure DescribeExcelRange(const Range: ExcelRange);
var
AreaIndex: Integer;
Area: ExcelRange;
begin
for AreaIndex := 1 to Range.Areas.Count do
begin
Area := Range.Areas[i];
Writeln(Format(
'Area %d: R%dC%d:R%dC%d',
[AreaIndex, Area.Row, Area.Column,
Area.Row+Area.Rows.Count-1, Area.Column+Area.Columns.Count-1]
));
end;
end;
我没有实际测试过这段代码,所以我希望我正确地记住索引是基于1的。假设一个简单的矩形范围,然后使用ExcelRange
对象的行
和列
属性。所选内容的左上角由Range.Row
和Range.Column
确定。所选行数和列数由Range.rows.Count
和Range.columns.Count
给出
一般来说,Excel范围可以由多个非连续区域组成。在这种情况下,您可以使用ExcelRange
的Areas
属性来迭代组成复杂范围的简单矩形范围
来说明下面的代码:
procedure DescribeExcelRange(const Range: ExcelRange);
var
AreaIndex: Integer;
Area: ExcelRange;
begin
for AreaIndex := 1 to Range.Areas.Count do
begin
Area := Range.Areas[i];
Writeln(Format(
'Area %d: R%dC%d:R%dC%d',
[AreaIndex, Area.Row, Area.Column,
Area.Row+Area.Rows.Count-1, Area.Column+Area.Columns.Count-1]
));
end;
end;
我还没有实际测试过这段代码,所以我希望我正确地记住索引是基于1的