掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebBrowserコントールで表示したページ内を検索するには? (ID:115724)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
昔、某所にそのようなサンプルを投稿した事があります。 参考になれば。 | Subject: [VB-ML:05476] Re: WebBrowser コントロールで反転 | Date: Mon, 05 Jun 2000 15:32:56 +0900 --------- > WebBrowserコントロールを使用して、 > HTML文書の検索と表示を行うプログラムを作成しています。 > 表示した文書を検索した単語を反転したい > (MSDNライブラリで検索したときのような動作)のですが、 > どのようにすれば実現できるのでしょうか? > VB6(SP3) Win95/98/2000 IE4.01SP1以降 当方環境は、 Win98(SP1) + IE 5.01 + VB6 EE(SP3) です。 以下は、IHTMLTxtRange を使って、Text1に指定された語句を検索し、 それを黄色く反転させるサンプルです。 # エラー処理等は省いてあります。 Private Sub Command1_Click() Dim Doc As Object 'MSHTML.HTMLDocument Dim Body As Object 'MSHTML.HTMLBody Dim objRange As Object 'MSHTML.IHTMLTxtRange Dim BMK As String 'Dim L As Long '検索文字列を入れておいてください。 If Len(Text1.Text) = 0 Then Exit Sub Set Doc = WebBrowser1.Document Set Body = Doc.Body Set objRange = Body.createTextRange '≫≫≫≫≫ 検索開始 'For L = 0 To 255 ' If objRange.findText(Text1.Text) = False Then Exit For Do While objRange.findText(Text1.Text) '最初に見つかった位置を保存しておきます。 If Len(BMK) = 0 Then BMK = objRange.getBookmark '検索した語句を黄色く反転させる。 objRange.execCommand "BackColor", False, "YELLOW" '論理カーソル位置を、検索した語句の末尾に移動させる。 objRange.collapse False Loop 'Next L '≪≪≪≪≪ 検索終了 'ついでに、最初に見つけた語句の位置までスクロールさせています。 If Len(BMK) Then objRange.moveToBookmark BMK objRange.scrollIntoView End If '最後は一応、後始末を。 Set objRange = Nothing Set Body = Nothing Set Doc = Nothing End Sub (以下略)
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.