|
楼主 |
发表于 2021-7-21 22:29
|
显示全部楼层
想到了一种解决办法,移动光标来判断:
- Sub GetCellRows() '获取光标所在单元格的行数
- Dim r%, rowStart%, rowNext$, rowTotal%
- If Selection.Information(wdWithInTable) Then '是否在表格中
- rowStart = Selection.Information(wdStartOfRangeRowNumber) '获取光标所在单元格的行号
- rowTotal = Selection.Information(wdMaximumNumberOfRows) '计算出表格的最大行
- Selection.MoveDown Unit:=wdLine, Count:=1 '光标向下移动
- If Selection.Information(wdWithInTable) Then '移动后光标是否在表格中
- rowNext = Selection.Information(wdStartOfRangeRowNumber) '光标还在表格中,记录下一行的行号
- Else
- rowNext = rowTotal '光标不在表格中,说明光标原来就在最后一行
- End If
- Selection.MoveUp Unit:=wdLine, Count:=1 '光标向上移动,还原到原来的位置
- If rowNext > rowStart Then
- r = rowNext - rowStart
- Else
- r = 1
- End If
- Debug.Print r
- End If
- End Sub
复制代码
|
|