坐标与选定区域
下面这些属性是相关的,所以放在一起讲述。
RowSel
返回选定行位置。
ColSel
返回选定列的位置
TopRow
返回选定区域的最上面一行的位置。
BottomRow
返回选定区域的最下面一行的位置。
LeftCol
返回选定区域的最左边一列的位置
RightCol
返回选定区域的最右边一列的位置
下面用两幅图片来说明这些坐标属性的关系:
上述属性在计算位置的时候,是从0开始的;例如选定第一列,ColSel属性的值等于0,而不是等于1;同样ColSel属性等于1的时候,表示选择的是第二列,而不是第一列。
RowSel、TopRow、BottomRow三个属性,似乎和之前介绍的Position、TopPosition、BottomPosition属性有些重复,其实不然,如果Table处于汇总模式下,Position、TopPosition、BottomPosition在计算位置的时候,是排除分组行的,而本节介绍的RowSel、TopRow、BottomRow等属性在计算的时候,是包括分组行的。
下图可以清晰地说明这种差别:
Position属性是可设置的,通过设置Position属性,我们可以选定指定位置的行。
而本节介绍的属性是只读的,我们只能通过执行Select方法来选择某一区域。
Select方法的语法是:
Select(Row, Col)
Select(TopRow, LeftCol, BottomRow, RightCol)
参数
Row: 行位置
Col: 列位置
TopRow: 选定区域最上边一行的位置
LeftCol: 选定区域最左边一列的位置
BottomRow: 选定区域最下边一行的位置
RightCol: 选定区域最右边一列的位置
上述位置在计算的时候,均包括分组行。
例如选定当前表的第1行第1列:
CurrentTable
.Select(0,0)例如
选定当前表第二行第三列至第八行第7列之间的区域:CurrentTable
.Select(1,2,7,6)再例如需要获得选定的列,可以参考下面的代码:
Dim
t
As
Table =
Tables("订单")
Dim c
As Col
= t.Cols(t.ColSel)
MessageBox.Show("选定列的名称是:"
& c.Name)