2014-03-14 72 views
0

我有一個帶有郵件合併字段的word文檔。
我想用一個使用OpenXml的值替換郵件合併域。OpenXml如何替換FieldCode值

我可以使用選擇字段:

FieldCode field = document.MainDocumentPart.RootElement.Descendants<FieldCode>().where(x => x.Text == "MERGEFIELD Field_B \* MERGEFORMAT") 

但後來沒有辦法改變的價值,一旦我找到合適的領域? 更改文本屬性僅更改字段代碼而不更改值。

以下是顯示此字段的word文檔中的xml。

<w:r w:rsidR="00BE3C49"> 
    <w:rPr> 
     <w:noProof /> 
    </w:rPr> 
    <w:fldChar w:fldCharType="begin" /> 
</w:r> 
<w:r w:rsidR="00BE3C49"> 
    <w:rPr> 
     <w:noProof /> 
    </w:rPr> 
    <w:instrText xml:space="preserve"> MERGEFIELD Field_B \* MERGEFORMAT </w:instrText> 
</w:r> 
<w:r w:rsidR="00BE3C49"> 
    <w:rPr> 
     <w:noProof /> 
    </w:rPr> 
    <w:fldChar w:fldCharType="separate" /> 
</w:r> 
<w:r w:rsidR="00BE3C49"> 
    <w:rPr> 
     <w:noProof /> 
    </w:rPr> 
    <w:t>«Field_B»</w:t> 
</w:r> 
<w:r w:rsidR="00BE3C49"> 
    <w:rPr> 
     <w:noProof /> 
    </w:rPr> 
    <w:fldChar w:fldCharType="end" /> 
</w:r> 

回答