在word文档的页眉或页脚可以添加页码。
一个页眉或页脚可以添加多个页码。
在word vba 中PageNumber 对象代表一个页码。
而PageNumbers集合对象代表了一个页眉或页脚中的所有页码。
要删除所有页码,可以遍历PageNumbers集合对象中的PageNumber对象,然后用PageNumber对象的Delete方法删除。
由于一个word文档中可以首页的页码与其它页的不同,也可以奇数页的页码和偶数页的页码不同,而且一个word文档还经常有很多个节,所以要遍历PageNumbers集合对象首先要遍历不同的节,然后再遍历每个节的首页和奇数页和偶数页的页眉和页脚。
根据上述知识,可以使用如下的vba代码批量删除word文档中的所有页码:
Sub QQ1722187970() Dim oSection As Section Dim oHF As HeaderFooter Debug.Print Word.ActiveDocument.Sections.Count Dim oDoc As Document Set oDoc = Word.ActiveDocument Dim oPN As PageNumber With oDoc For Each oSection In .Sections With oSection With .PageSetup '首页不同 .DifferentFirstPageHeaderFooter = True '奇偶页不同 .OddAndEvenPagesHeaderFooter = True End With '首页页脚 Set oHF = .Footers(wdHeaderFooterFirstPage) For Each oPN In oHF.PageNumbers oPN.Delete Next '奇数页页脚 Set oHF = .Footers(wdHeaderFooterPrimary) For Each oPN In oHF.PageNumbers oPN.Delete Next '偶数页页脚 Set oHF = .Footers(wdHeaderFooterEvenPages) For Each oPN In oHF.PageNumbers oPN.Delete Next '首页页眉 Set oHF = .Headers(wdHeaderFooterFirstPage) For Each oPN In oHF.PageNumbers oPN.Delete Next '奇数页页眉 Set oHF = .Headers(wdHeaderFooterPrimary) For Each oPN In oHF.PageNumbers oPN.Delete Next '偶数页页眉 Set oHF = .Headers(wdHeaderFooterEvenPages) For Each oPN In oHF.PageNumbers oPN.Delete Next End With Next End With End Sub
非常感谢,很有用!