2016-10-13 7 views
2

私は次の関数を使用して同じ範囲を強調しようとしている、VSTOでFind.HitHighlightを使用して同じ範囲をハイライトする方法は?

range.Find.HitHighlight(range.Text.Substring(0, range.Text.Length)); 

しかし、私はやるときは、このMS Wordのは、Wordドキュメントの終わりに達した」というメッセージが表示されます。続行しますか最初から?" 「はい」を選択すると機能します。しかし、このコードが実行されるたびに、同じメッセージが表示されます。私は、メッセージボックスなしでハイライトをどのように行うことができるかを考えています。

私が最初に強調表示するために次のコードを使用しました、このアプローチでは

range.HighlightColorIndex = WdColorIndex.wdYellow 

それは実際に原稿を変更します。

したがって、恒久ハイライトは作成されないため、ハイライト表示にはHitHighlight関数を使用してみました。

これについてのご意見はありますか?

答えて

0

私は似たものを求めていました。これは部分的な答えです。 私はこれを見つけたsimilar question on msdn、解決策は、 "Application.SelectionまたはDoc.Content"からのFind.HitHighlight()呼び出しを使用することでした。

今、私はそれがApplication.Selectionから仕事を得ることができませんでしたが、私はDoc.Contentからやった:

myrange.Application.ActiveDocument.Content.Find.HitHighlight(myrange.Text.Substring(0, myrange.Text.Length)); 

残念ながら、これは、文書内のすべての一致を強調しています。私は他の方法を見つけることができるかどうかを確認します。しかしこれはこれまでの唯一のもののようです。

または、範囲の先頭にいくつかのユニークなテキストを追加し、検索してからテキストを削除するのはどうですか?悪い考え、動作しませんでした。

関連する問題