2012-03-23 5 views
0

C#でMicrosoft.Office.Interop.Wordを使用しています。私はあなたがRange.Font.Bold = 1を使ってテキストを太字に設定できることを知っています。私の問題は、長い文章があり、文章全体ではなく、その中にいくつかの言葉を大胆にしなければならないということです。私の文章が「あなたの質問に対する回答を電子メールで送ってもらいたいですか?」と書かれていれば、私は「回答を」持っていることを大胆にしたいと思います。この例ではC#Microsoft.Office.Interop.Word

私は大胆に一つだけの単語(単語全体のドキュメントをループすることによって)ことができます:

foreach(Microsoft.Office.Interop.Word.Range w in oDoc.Words) 
{ 
    if (w.Text == "Something") 
     w.Font.Bold = 1; 
} 

をしかし、これはただ一つの単語のためであり、どのように私は大胆な2つ、3つまたはそれ以上の連続した単語を作ることができます文で

答えて

3

文書全体をループする必要はありません。使用Word.WdReplace.wdReplaceAll、これに似た何か:

private void SearchReplace() 
{ 
    Word.Find findObject = Application.Selection.Find; 
    findObject.ClearFormatting(); 
    findObject.Text = "find me"; 
    findObject.Replacement.ClearFormatting(); 
    findObject.Replacement.Text = "Found"; 

    object replaceAll = Word.WdReplace.wdReplaceAll; 
    findObject.Execute(ref missing, ref missing, ref missing, ref missing, ref missing, 
     ref missing, ref missing, ref missing, ref missing, ref missing, 
     ref replaceAll, ref missing, ref missing, ref missing, ref missing); 
} 

あなたがここでそれについての詳細を読むことができます:http://msdn.microsoft.com/en-us/library/f65x8z3d.aspx

はそれが役に立てば幸い!この時

関連する問題