经常在编写word vba 解决方案时会遇到需要获取range对象所在的行的文本内容。
这时候可以使用如下的代码:
Sub QQ1722187970()
Const wdLine = 5
Dim oDoc As Document
Dim oRng As Range
Dim oWord As Word.Application
Set oDoc = Word.ActiveDocument
Set oRng = oDoc.Range(1, 100)
oRng.Select
With oWord.Selection
'取消选择区域
.Collapse
'定位到行的开头
.HomeKey wdLine
iStart = .Start
'定位到行的结尾
.EndKey wdLine
iEnd = .End
End With
'返回所在行的Range对象
Set oRng = oDoc.Range(iStart, iEnd)
'获取行的内容
sText = oRng.Text
End Sub
原理是使用Selection对象的HomeKey和EndKey方法定位到行的开头和结尾,再重新定义Range对象,即可获取行的文本内容。


Pingback引用通告: 如何用vba在word中快速移动或选中内容区域? – 算法网 /