3

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

4

0 回答 0