如何让MS Word 2016页码超链接的索引开关生效
Word 2016索引页码自动转为超链接的解决方案
- 先修正索引域代码的错误:你现在用的索引代码里
<strong>\h "A"</strong>是无效的,Word域代码不支持HTML标签,正确写法应该直接保留\h "A",修正后的完整域代码为:{INDEX \c "3" \z "1033" \h "A"} - 若修正开关后超链接仍不生效,试试这几个设置:
- 确保文档保存为*.docx格式,旧的*.doc格式不支持域代码自动生成超链接
- 打开Word选项,依次点文件>选项>校对>自动更正选项,在「自动套用格式」和「键入时自动套用格式」两个标签下,都勾选“Internet及网络路径替换为超链接”
- 选中整个索引,右键选择“更新域”,再选“更新整个索引”
- 如果以上方法都不行,可以用VBA宏批量生成超链接(更新索引后运行宏,不会被清除),示例代码如下:
使用步骤:按下Alt+F11打开VBA编辑器,插入新模块,粘贴代码后运行即可。Sub IndexPageNumbersToHyperlinks() Dim idx As Index Dim entry As IndexEntry Dim rng As Range Set idx = ActiveDocument.Indexes(1) '默认处理文档中第一个索引 For Each entry In idx.IndexEntries Set rng = entry.Range rng.Collapse wdCollapseEnd rng.MoveLeft Unit:=wdWord, Count:=1, Extend:=wdExtend If IsNumeric(rng.Text) Then ActiveDocument.Hyperlinks.Add Anchor:=rng, Address:="", SubAddress:="Page_" & rng.Text, TextToDisplay:=rng.Text End If Next entry End Sub
内容的提问来源于stack exchange,提问作者David Ringsmuth
相关产品推荐
相关产品推荐

