IEに表示されているテキストのキーワードを色つけ・太字化しようと
しています。コードは以下のようです。
Set oRange = oIE.document.Body.createTextRange
中略
For n = 0 To UBound(sKeyWord)
Do While oRange.findText(sKeyWord(n))
'検索した語句を色つけ・太字化。
oRange.execCommand "ForeColor", False, "red" oRange.execCommand "bold", False, vbNull
oRange.collapse False
Loop
Set oRange = oIE.document.Body.createTextRange
Next
この時、例えば IEに表示されているテキストが、
「上のテキストボックス内に検索したい語句を入力し、
検索ボタンをクリックして下さい。 」となっている時に
sKeyWord(0):"検索ボタン"
sKeyWord(1):"検索" とした場合、
oRange.execCommand "bold"メソッドはトグル動作する?ので
一旦、bold表示されている文字が、2回目のboldメソッド実行時に
元に戻ってしまいます。
上の例は簡単のものですが、実際のテキスト文字数はかなり大きなサイズ
であり、キーワードも長いもが多くあり、そのパターンもランダムです。
なにか良いロジックは無いでしょうか?
宜しくご教授お願いいたします。