You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Word VBA读取Word文档最后一页的页眉文本内容

问题说明
  • 创建2页Word文档,页眉添加格式为Current {page}, total {numpages}的域代码,第一页页眉显示Current 1, total 2,第二页页眉显示Current 2, total 2,需要读取最后一页的页眉文本,即目标值Current 2, total 2。
  • 现有VBA代码仅能读取第一页页眉内容,代码如下:
Sub a()
    MsgBox ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text
End Sub
实现方案

直接读取Sections下的Headers对象Range文本时,默认返回页眉域在第一页的计算结果,无法自动匹配后续页码的域显示值。可以先定位到文档最后一页,再读取当前页所属节的页眉内容,代码如下:

Sub GetLastPageHeader()
    Dim lastPage As Long
    Dim savedPos As Range
    
    ' 保存当前光标位置,操作完成后恢复
    Set savedPos = Selection.Range
    
    ' 定位到文档最后一页
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToLast
    lastPage = Selection.Information(wdActiveEndPageNumber)
    Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=lastPage
    
    ' 读取当前页页眉内容并弹窗展示
    MsgBox Selection.Sections(1).Headers(wdHeaderFooterPrimary).Range.Text
    
    ' 跳回原编辑位置
    savedPos.Select
End Sub

注意事项

  • 如果文档开启了「首页不同」「奇偶页不同」的页眉设置,需要先判断最后一页的页码属性,将代码中wdHeaderFooterPrimary替换为对应类型的枚举值:
    • 首页页眉:wdHeaderFooterFirstPage
    • 偶数页页眉:wdHeaderFooterEvenPages
  • 代码不会修改文档原有内容,也不会改变用户原本的光标编辑位置。

内容的提问来源于stack exchange,提问作者oyster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 16:24:19