2012-09-22 52 views
0

我有一个词文档,其中有许多分散在文本中的字段。这些字段是使用insert> quick parts>字段创建的。每个字段都有一个唯一的名称。使用VB.Net更改Word 2007文档字段的值

我设法打开文档,但我不知道如何引用一个特定的字段,以便我可以把我的价值。

我设法通过文档中的域迭代使用:

Dim flds As Word.Fields 
Dim fld As Word.Field 

flds = wrdDoc.Fields 
For Each fld In flds 
... 
next 

但“FLD”变量似乎并没有有一个“名称”属性,所以我不知道如何引用特定领域。

我一直希望有这样的:

flds("MyField1") = "blablabla" 

但我只能把指标(整数)在括号内。

有关我如何实现目标的任何想法?

感谢

回答

1

它们是什么样的领域? 我不知道这是否会适合你的情况,但如果域看起来像这样显示的时候(与ALT-F9):

{DOCVARIABLE字段名}

然后使用此:

wordDocument.Variables("fieldname").Value = "abc" 
wordDocument.Fields.Update 

这只适用于DOCVARIABLE-Fields。 (注意在这种情况下,传递给.Value的字符串可能不是空的。)

+0

谢谢!仅供其他人参考,我使用的是这样的: {MERGEFIELD ClientFullName * MERGEFORMAT} 我现在已将它们更改为DOCVARIABLES,现在它可以使用您的方法! – Osprey