我对这种方法有点麻烦。它的功能是在Word文档中查找字符串并将其替换为另一个字符串。
public virtual void FillDocumentByText(Dictionary<string, string> parameterList, Word.Document doc)
{
foreach (string key in parameterList.Keys)
{
Word.Find findObject = doc.Application.Selection.Find;
findObject.ClearFormatting();
findObject.Text = key;
findObject.Replacement.ClearFormatting();
findObject.Replacement.Text = parameterList[key];
object replaceAll = Word.WdReplace.wdReplaceAll;
findObject.Execute(ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
ref replaceAll, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
}
}
问题是:当我使用这种方法时,它可以正常工作,但无论我传递的字符串如何,它们都会使第一个字母大写,并且它不能像那样,例如:
parameterList.Add("key1", "strange uh?");
文档中的最终输出变成“Strange呃?”,即使应该替换的字符串位于句子的中间。