C#替换Word文档中的字符串,但没有格式化

时间:2013-10-18 10:49:57

标签: c# .net ms-word

我对这种方法有点麻烦。它的功能是在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呃?”,即使应该替换的字符串位于句子的中间。

0 个答案:

没有答案