0

私のプログラムでFind.Executeは、キーワードのすべての単語形式を検索して強調表示するために使用しています。たとえば、ソース ドキュメントに「perform」と「performance」が含まれている場合、Find.Execute(...matchAllWordForms=true...)両方の単語が検索されますが、パフォーマンスの「perform」セクションのみが強調表示されます。

MSWord で単語全体を強調表示するにはどうすればよいですか? は単に「実行」するようにrange.Text変更されFind.Executeているため、それを繰り返すことはできません。a を実行してRange.Select()から を繰り返してみSelection.Endましたが、範囲が元のドキュメントと一致しません。

どんな助けでも大歓迎です!

4

1 に答える 1

0

まあ、私はちょっと愚かだと感じます:

私は使用しようとしていて、オプションSelection.Extendを完全に逃しました。Selection.Expand後でこれに遭遇した人のために:

range.Select();    // The range after Find.Execute
wordApp.Selection.Expand(Word.WdUnits.wdWord);    // may have to trim off excess whitespace
Word.Range highlightRange = document.Range(wordApp.Selection.Start, wordApp.Selection.End);
wordApp.Selection.Shading.BackgroundPatternColor = (Word.WdColor)System.Drawing.ColorTranslator.ToOle(extractedColor);

蛍光ペンにシェーディングを使用していることに注意してください(System.Drawing.Color.FromARGB(Alpha,R,G,B)デフォルトの15色の代わりにカスタムカラーを作成できるように)。

于 2012-06-20T22:26:26.887 に答える