2

我用 Word 2003 创建了一个 Word 文档,并通过 GUI 插入了一些 MergeField。我已使用Microsoft Office Compatibility Pack for Word、Excel 和 PowerPoint 2007 File Formats将其保存为 .docx 。一些 Mergefields 存储为 SimpleField,而另一些则存储为 FieldCode(带有 start-FieldChar 和 end-FieldChar)。一些谷歌搜索把我带到了这个博客。正如你所看到的,这个人也面临着同样的问题;但还没有找到解决办法。

我在 Codeplex [Fill Mergefields] 上使用以下代码示例将 MergeFields 替换为来自不同数据源的实际值。

欢迎任何帮助。

4

1 回答 1

0

如果字段的值只是格式一致的简单文本,则可以将其存储为 fldSimple 节点。但是,如果字段的值具有不同的格式,则必须将其保存为复杂字段(fldChar 开始、可选分隔和结束),以便字段值中的每次运行都可以在运行属性中定义不同的格式<w:rPr>。我认为如果 word 使用rsid属性来跟踪更改,也会发生这种情况。如果字段是嵌套的,例如多个 IF 字段,则 fldChar Start/Separate/End 也是必需的,以便它可以存储任意数量的,<w:r>作为字段的值。<w:p><w:tbl>

有时它似乎没有充分的理由那样存储它们。(正如该博客所述)。

于 2011-03-18T01:44:07.550 回答