2011-08-18 106 views
3

哇,我似乎很难找到插入超链接到书签的例子。创建超链接到书签(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"?它在某处被描述了吗?

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

回答

2

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

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

+0

我的代码产生的链接确实是* work *。它们不会像其他文档中的相同代码那样呈现链接的外观。感谢您的链接。我现在正在下载它,虽然我似乎已经使用“超链接”类来实现这个功能。 –