创建书签的超链接 (OpenXML/Word)
哇,我似乎很难找到将超链接插入书签的示例。
如果我创建一个带有书签链接的简单 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"
到底是什么?有在某处描述过吗?
我尝试按原样实现上述模式。结果是它可以工作,但在某些情况下,文本不会显示为超链接。
Wow, I seem to be having an incredibly hard time finding examples of inserting a Hyperlink to a bookmark.
If I create a simple Word document with a link to a bookmark, the link looks something like this.
<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>
But what the heck is the instrText (FieldCode) value HYPERLINK \l "Text"
? Is it described somewhere?
I tried implementing the above pattern as is. The result is it works but, in some cases, the text does not appear as a hyperlink.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
元素 instrText 记录在 Open XML 标准第 1 部分第 17.16.23 节中,具体的 HYPERLINK 代码记录在 17.16.5.25 中。您可以在 Ecma 376 网页。
但这并不能完全回答为什么您的代码在某些情况下不起作用 - 您是否可能指向一个不存在的书签?
The element instrText is documented in Part 1, section 17.16.23 of the Open XML standard, and the specific HYPERLINK codes are documented in 17.16.5.25. You can get a free copy of this standard as "ECMA-376 2nd edition" at the Ecma 376 web page.
That doesn't exactly answer why your code doesn't work in some circumstances, though - are you perhaps pointing to a non-existent bookmark?