KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何列印 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

Kutools for Word 讓您透過 Microsoft Word 內建的實用工具,輕鬆快速完成日常文件任務——無需編寫程式碼,也無需繁瑣設定。

  • AI 寫作、潤飾、翻譯與摘要
  • 批量查找與替換跨文件操作
  • 輕鬆合併與分割 Word 文件
  • 批次轉換 Word ↔ PDF

使用 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……

內容編輯批量查找與替換多個檔案/調整所有圖片大小/翻轉表格列與欄/表格轉文本……

🧹 輕鬆清理:一鍵清除多餘空格分節符文字框超連結!想要更多清除工具?立即前往移除群組……

創意插入:插入千位分隔符/複選框/選項按鈕/二維碼/條碼/多張圖片/ 更多功能請至插入群組……

🔍 精準選取:精確定位特定頁面/表格/圖形/標題段落/ 透過更多選取功能提升導覽效率……

星級增強功能快速跳轉至任意位置/自動插入重複文字/在文件 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 無縫整合 | ⚡ 保存時間,立即提升生產力

最佳 Office 生產力工具

Kutools for Word- Word 專用 100+ 項工具