跳至主要内容

如何在Word文档中打印书签列表?

Author: Siluvia Last Modified: 2025-07-31

您是否尝试过在Word文档中打印书签列表?接下来我们将向您展示实现这一目标的方法。

使用VBA提取所有书签并打印

使用VBA直接打印所有书签


使用VBA提取所有书签并打印

以下VBA代码将帮助把当前文档中的所有书签提取到一个新文档中,您可以根据需要手动打印提取出的书签。请按照以下步骤操作:

1. 打开要打印书签的文档,按下 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Microsoft Visual Basic for Applications 窗口中,点击 插入 > 模块,然后将以下代码复制到模块窗口中。

VBA代码:将所有书签提取到一个新文档

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
End Sub

3. 按下 F5 键运行代码。

随后会自动创建一个新文档,其中列出了指定文档中的所有书签。

New document with all bookmarks of specified document listing inside

4. 您可以点击 文件 > 打印 来根据需要打印提取出的书签列表。

Kutools for Word内置 AI 🤖,提供超过 100 种实用功能,助您简化任务。

使用VBA直接打印所有书签

如果您想直接打印当前文档中的所有书签,请按照以下步骤操作:

1. 打开要打印书签的文档,按下 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Microsoft Visual Basic for Applications 窗口中,点击 插入 > 模块,然后将以下代码复制到模块窗口中。

VBA代码:打印文档中的所有书签

Sub ExtractBookmarksInADoc()
'Updated by Extendoffice 20181123
    Dim xRow As Long
    Dim xTable As Table
    Dim xDoc As Document
    Dim xBookMark As Bookmark
    Dim xBookMarkDoc As Document
    Dim xParagraph As Paragraph
    On Error Resume Next
    Set xDoc = ActiveDocument
    If xDoc.Bookmarks.Count = 0 Then
        MsgBox "There is no bookmark in this document", vbInformation, "KuTools for Word"
        Exit Sub
    End If
    Set xBookMarkDoc = Documents.Add
    xRow = 1
    Selection.TypeText "BookMarks in " & "'" & xDoc.Name & "'"
    Set xTable = Selection.Tables.Add(Selection.Range, 1, 3)
    xTable.Borders.Enable = True
    With xTable
        .Cell(xRow, 1).Range.Text = "Name"
        .Cell(xRow, 2).Range.Text = "Texts"
        .Cell(xRow, 3).Range.Text = "Page Number"
        For Each xBookMark In xDoc.Bookmarks
            xTable.Rows.Add
            xRow = xRow + 1
            .Cell(xRow, 1).Range.Text = xBookMark.Name
            .Cell(xRow, 2).Range.Text = xBookMark.Range.Text
            .Cell(xRow, 3).Range.Text = xBookMark.Range.Information(wdActiveEndAdjustedPageNumber)
            xDoc.Hyperlinks.Add Anchor:=.Cell(xRow, 3).Range, Address:=xDoc.Name, _
              SubAddress:=xBookMark.Name, TextToDisplay:=.Cell(xRow, 3).Range.Text
        Next
    End With
    xBookMarkDoc.SaveAs xDoc.Path & "\" & "Bookmarks in " & xDoc.Name
    xBookMarkDoc.PrintOut
    xBookMarkDoc.Close
    Kill xBookMarkDoc.Path
End Sub

3. 按下 F5 键直接打印书签。

最佳Office办公效率工具

Kutools for Word -通过超过100项强大功能全面提升您的Word体验!

🤖 Kutools AI功能AI助手 / 实时助手 / 超级润色(保留格式)/ 超级翻译(保留格式)/ AI遮挡 / AI校正……

📘 文档大师翻页 / 文档合并 /选区多格式导出(PDF/TXT/DOC/HTML等)/ 批量转换为PDF……

内容编辑跨多个文件批量查找与替换 / 全部图片大小调整 / 翻转表格行和列 / 表格转文本……

🧹轻松清理:一扫而空多余空格 / 分节符 / 文本框 / 超链接 / 更多清除工具请前往清除所有功能组……

创意插入:插入千位分隔符 /复选框 /选项按钮 / 二维码 / 条形码 / 多张图片 / 更多请探索插入功能组……

🔍 精准选取:精准锁定指定页码 / 表格 / 形状 / 标题段落 /通过更多 选取 功能提升导航体验……

明星增强一键定位任何位置 / 自动插入重复文本 / 在文档窗口间快速切换 /11 转换工具……

🌍 支持40+种语言:Kutools支持您的本地语言 — 英语、西班牙语、德语、法语、中文等40多种语言均适用!

Kutools and Kutools Plus tabs on the Word Ribbon
👉 想体验这些强大功能?立即下载Kutools for Word!🚀
 

最佳Office办公效率工具

Kutools for Word - 100+ Word工具