KutoolsforOffice— 一套方案,五大工具。事半功倍。

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

作者Siluvia修改日期

您是否曾尝试打印 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 键即可运行代码。

系统将自动生成一个新文档,列出所选文档中的所有书签。

新文档中列出了指定文档的所有书签

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 键即可直接打印所有书签。

最佳办公效率工具

Kutools for Word——集成超过 100 项卓越功能,全面提升您的 Word 体验!

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

📘 文档精通分割页面/文档合并/批量选择导出为多种格式(PDF/TXT/DOC/HTML……)/批量转换为 PDF……

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

🧹 轻松清理:一键清除多余空格/分节符/文本框/超链接/ 想要更多清理工具,请前往移除分组……

创意插入:插入千位分隔符/复选框/选项按钮/二维码/条形码/多图插入/ 更多插入选项请查看插入分组……

🔍 精准选择:快速定位特定页面/表格/形状/标题段落/ 利用更多选择功能提升导航效率……

明星增强功能跳转到任意位置/自动插入重复文本/在多个文档 Windows 间切换/11 转换工具……

🌍 支持 40+ 种语言:无论您身处何地,Kutools 均支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Word
 
 

Office Tab- 为 Office 带来标签式界面,让您的工作更轻松高效

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中,轻松启用标签式编辑与阅读功能。
  • 在同一窗口中打开和创建多个文档标签,而非在新窗口中分别打开。
  • 让您的工作效率提升 50%,每天为您减少数百次鼠标点击!

✨ Kutools for Office —— 一次安装,畅享五大强力工具!

包含 Office Tab Pro·Kutools for Excel·Kutools for Outlook·Kutools for Word·Kutools for PowerPoint

📦 一套打包 5 个工具 | 🔗 与 Microsoft Office 无缝集成 | ⚡ 保存时间,立即提升效率

最佳办公效率工具

Kutools for Word- 100+ 款 Word 工具