在word文档中,如果套用了很多标题样式,有时候需要遍历同一级的标题,对其进行后续处理。
在vba 中可以使用定位的方法快速地定位标题,但是这个定位是定位所有标题样式,不分层级的。
为此,可以使用如下的vba代码对某个层级的标题进行遍历:
Sub QQ1722187970() Dim oP As Paragraph Dim oP1 As Paragraph Dim oRng As Range Dim oDoc As Document Set oDoc = Word.ActiveDocument With oDoc iMin = -1 I = 1 Do '循环每个标题 Set oRng = .GoTo(wdGoToHeading, wdGoToAbsolute, I) '获取标题所在的段落 Set oP = oRng.Paragraphs(1) If oP.Style = "标题 2" Then '获取当前段落的下一个段落 Set oP1 = oP.Next '其它判断代码 End If '如果到底或者回到头则退出循环 If oRng.Start < iMin Or oRng.Start = iMin Then Exit Do Debug.Print oRng.Start, oRng.End iMin = oRng.Start I = I + 1 Loop Until 1 <> 1 End With End Sub
发表评论