如何在Word中创建多书签实现标题跳转?附Mustache代码场景
Mustache实现标题跳转书签+Word批量创建书签方法
一、Mustache代码修改实现跳转书签
你需要利用Mustache的循环索引生成唯一的书签ID,将标题列表做成跳转链接,同时在对应的详情标题处设置锚点。修改后的代码如下:
{#Titles} {{title}} -> <a href="#bookmark_{{@index + 1}}">[bookmark_{{@index + 1}}]</a> {/Titles} {#Titles} <h3 id="bookmark_{{@index + 1}}">{{title}} [bookmark_{{@index + 1}}]</h3> {#details} {{detail}} {/details} {/Titles}
代码说明:
{{@index + 1}}:利用循环索引生成从1开始的唯一编号,确保每个书签ID不重复- 第一部分循环:生成带跳转链接的标题列表,点击后会跳转到对应ID的锚点位置
- 第二部分循环:给每个标题设置
id属性作为锚点,同时显示书签标识,下方展示对应详情
生成效果:
Title A -> [bookmark_1] Title B -> [bookmark_2] Title C -> [bookmark_3] Title A [bookmark_1] title details Title B [bookmark_2] title details Title C [bookmark_3] title details
二、Word中创建多个书签的方法
1. 手动批量创建(适合少量书签)
- 选中需要设置书签的内容(比如单个标题文本)
- 点击顶部菜单栏的「插入」→「书签」
- 在弹出的对话框中输入书签名称(要求:无空格、无特殊字符,以字母开头,比如
bookmark_1) - 点击「添加」,重复操作直到所有书签创建完成
2. 宏自动批量创建(适合大量书签)
如果需要创建几十个甚至上百个书签,用宏效率更高:
- 打开Word文档,按
Alt+F11打开VBA编辑器 - 右键点击左侧的文档名称,选择「插入」→「模块」
- 在模块窗口中粘贴以下代码:
Sub CreateMultipleBookmarks() Dim doc As Document Dim para As Paragraph Dim bookmarkNum As Integer Set doc = ActiveDocument bookmarkNum = 1 ' 这里以「标题1」样式为例,可根据实际修改样式名称 For Each para In doc.Paragraphs If para.Style = "标题 1" Then doc.Bookmarks.Add Name:="bookmark_" & bookmarkNum, Range:=para.Range bookmarkNum = bookmarkNum + 1 End If Next para MsgBox "批量书签创建完成!" End Sub
- 按
F5运行宏,即可自动给所有「标题1」样式的段落创建命名为bookmark_1、bookmark_2...的书签
内容的提问来源于stack exchange,提问作者Cristian Morillas
相关产品推荐
相关产品推荐

