htmlテキストのキーワード太字化


IMA  2004-02-12 19:49:37  No: 82007  IP: [192.*.*.*]

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メソッド実行時に
元に戻ってしまいます。

  上の例は簡単のものですが、実際のテキスト文字数はかなり大きなサイズ
であり、キーワードも長いもが多くあり、そのパターンもランダムです。

なにか良いロジックは無いでしょうか?
宜しくご教授お願いいたします。

編集 削除