经常在编写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中快速移动或选中内容区域? – 算法网 /