掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Webブラウザコントロールで検索をするには? (ID:90040)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 私としては、コード1と2は内容的には同じだと思ったのですが、 異なります。同じにするのならば、こうなりますね。 (コメント部を解除すると、動作の意味がわかるかも) Private Sub Command1_Click() Dim Rng As MSHTML.IHTMLTxtRange Set Rng = Body.createTextRange() 'MsgBox Rng.htmlText, vbInformation If Rng.findText("テキスト") Then 'MsgBox Rng.htmlText, vbInformation Rng.Select Rng.scrollIntoView True End If Set Rng = Nothing End Sub http://www.microsoft.com/japan/msdn/library/ja/jpisdk/dhtml/references/objects/obj_TextRange.asp 上記を読んでみると、このような事が書かれています。 》move、moveToElementText、findTextなどのメソッドを使って、 》TextRangeオブジェクトの先頭と末尾を移動させてその範囲を変更できる。 つまり、findTextを使うと、その TextRangeオブジェクトの範囲が 変更されるという事です。 マロンさんのコードでは、毎回 createRangeメソッドによって、 「新たなTextRangeオブジェクトを作り直している」ので、 TextRangeの範囲が、初期状態(BODY要素内の全ての範囲を示す)に なってしまっていたわけですね。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.