我在使用这种方法时遇到了一些问题。它的作用是在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 uh?”,即使应该被替换的字符串位于句子的中间。