如何在Word文档中打印书签列表?
您是否尝试过在Word文档中打印书签列表?接下来我们将向您展示实现这一目标的方法。
使用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. 您可以点击 文件 > 打印 来根据需要打印提取出的书签列表。
使用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 for Office – 一次安装,五大强力工具集成!
内含 Office Tab Pro · Kutools for Excel · Kutools for Outlook · Kutools for Word · Kutools for PowerPoint
📦 五大工具一站式集成 | 🔗 无缝兼容Microsoft Office | ⚡立即提升效率、节省时间