0

我最近浏览了很多线程并遇到了这个:

替换 Word 2003 文档中的 MergeFields 并保持样式

这是一个旧线程,但看起来很有前途,因为我把代码的逻辑写下来了,我相信我可以利用它。我面临的唯一问题是我似乎无法声明/使用这种方法?

Extensions.GetFieldName()

任何替代它的想法也将不胜感激!:)

这是我尝试使用的实际代码

foreach (Field mergeField in document.Fields)
{
   if (mergeField.Type == WdFieldType.wdFieldMergeField)
   {
      string fieldText = mergeField.Code.Text;
      string fieldName = Extensions.GetFieldName(fieldText);

      if (values.ContainsKey(fieldName))
      {
         mergeField.Select();
         application.Selection.TypeText(values[fieldName]);
      }
   }
}
4

1 回答 1

1

我真的不认为这Extensions.GetFieldName是一种内置方法。它可能是用户定义的方法,并且不存在于互操作下。

通常像这样检索字段名称

Int32 endMerge = fieldText.IndexOf("\\");
Int32 fieldNameLength = fieldText.Length - endMerge;
String fieldName = fieldText.Substring(11, endMerge - 11);

请通过此链接。关于如何检索 FieldNames 有一个非常清晰的代码。

于 2012-11-02T05:53:06.823 回答