如何在Word表格中精准获取指定行范围的列垂直单元格?
问题:获取Word表格指定列的特定行单元格
需要获取Word表格某一列中排除表头/表尾部分的垂直单元格(表头、表尾可能包含多行),以示例为例:精准获取第2列中第2行至第7行的所有单元格,且需避免使用.Select()和.Selection.Cells方法。
目标单元格说明:表格第2列内,跳过顶部表头行与底部表尾行,仅选取中间第2到第7行的单元格区域
现有实现方案:通过构建Range对象定位
可以通过指定起始单元格和结束单元格的Range范围,来精准获取目标区域内的所有单元格,以下是具体代码实现:
VBA代码
Sub test() Dim t As Table Set t = Selection.Tables(1) Dim cellStart As Cell Set cellStart = t.Cell(2, 2) Dim cellEnd As Cell Set cellEnd = t.Cell(7, 2) Dim cellRange As Range Set cellRange = ActiveDocument.Range(cellStart.Range.Start, cellEnd.Range.End) Dim cellsInRange As Cells Set cellsInRange = cellRange.Cells MsgBox cellsInRange.Count End Sub
C#代码
private void Test() { var t = Selection.Tables[1]; var cellStart = t.Cell(2, 2); var cellEnd = t.Cell(7, 2); var cellRange = ActiveDocument.Range(cellStart.Range.Start, cellEnd.Range.End); var cellsInRange = cellRange.Cells; Debug.Print(cellsInRange.Count.ToString()); }
内容的提问来源于stack exchange,提问作者Rand Random
相关产品推荐
相关产品推荐

