如果我创建一个带有书签链接的简单Word文档,则链接看起来像这样。
<w:p w:rsidR="00B61E6F" w:rsidRDefault="00E56782"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:r>
<w:fldChar w:fldCharType="begin" />
</w:r>
<w:r>
<w:instrText xml:space="preserve"> HYPERLINK \l "Text" </w:instrText>
</w:r>
<w:r>
<w:fldChar w:fldCharType="separate" />
</w:r>
<w:r w:rsidRPr="00AC2FAA" w:rsidR="00AC2FAA">
<w:rPr>
<w:rStyle w:val="Hyperlink" />
</w:rPr>
<w:t>Link</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rStyle w:val="Hyperlink" />
</w:rPr>
<w:fldChar w:fldCharType="end" />
</w:r>
</w:p>
但是instrText(FieldCode)值HYPERLINK \l "Text"
到底是什么?它是在某处描述的吗?
我尝试按原样实现上述模式。结果是有效,但在某些情况下,文本不会显示为超链接。
答案 0 :(得分:2)
元素instrText记录在Open XML标准的第1部分第17.16.23节中,具体的HYPERLINK代码记录在17.16.5.25中。您可以在the Ecma 376 web page获得此标准的免费副本“ECMA-376第二版”。
但这并没有完全回答为什么你的代码在某些情况下不起作用 - 你是否指向一个不存在的书签?