如何用vba遍历word文档的页眉页脚?

在批量处理word文档时,有时候需要对每个word文档的页眉、页脚进行遍历,比如清除所有页眉、页脚的内容。

由于在word中不同的节可以独立的拥有不同的页眉、页脚。因此,遍历所有的页眉、页脚需要先遍历所有的节。

在word vba 中 HeaderFooter 对象代表页眉或页脚对象。

如果要访问所有页眉或页脚对象,需要先遍历所有的节(Section)对象。然后通过节(Section)对象访问节内的页眉或页脚对象。

基于以上的认识,可以使用如下的代码遍历word文档中的页眉、页脚,并进行相关的操作:

Sub QQ1722187970()
    Dim oDoc As Document
    Set oDoc = Word.ActiveDocument
    Dim oSec As Section
    With oDoc
        '先遍历所有的节对象
        For Each oSec In .Sections
            With oSec
                With .Headers(wdHeaderFooterPrimary)
                    '对页眉执行相关的操作
                End With
                With .Footers(wdHeaderFooterPrimary)
                    '对页脚执行相关的操作
                End With
            End With
        Next
    End With
End Sub

 

       

发表评论