创建书签的超链接(OpenXML / Word)

时间:2011-08-18 00:52:12

标签: hyperlink ms-word openxml bookmarks

哇,我似乎很难找到将超链接插入书签的例子。

如果我创建一个带有书签链接的简单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"到底是什么?它是在某处描述的吗?

我尝试按原样实现上述模式。结果是有效,但在某些情况下,文本不会显示为超链接。

1 个答案:

答案 0 :(得分:2)

元素instrText记录在Open XML标准的第1部分第17.16.23节中,具体的HYPERLINK代码记录在17.16.5.25中。您可以在the Ecma 376 web page获得此标准的免费副本“ECMA-376第二版”。

但这并没有完全回答为什么你的代码在某些情况下不起作用 - 你是否指向一个不存在的书签?