■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#971-2再びwebBrowserにてei2001-11-03(土) 19:31
     #977-1RE#971:再びwebBrowserにて魔界の仮面弁士2001-11-04(日) 01:34
     #982-2RE#977:再びwebBrowserにてei2001-11-04(日) 09:56
     #977-0RE#971:再びwebBrowserにて魔界の仮面弁士2001-11-04(日) 10:34
     #982-0RE#977:再びwebBrowserにてei2001-11-04(日) 18:56
#971-2
再びwebBrowserにて
こんにちわ。
WebBrowserに関して再び質問があります。
WebBrowser上に表示されている文字列を検索しようと思ったのですが、
過去ログ(ダウンロードしたもの)を見るとそれはWebBrowserでは、無理と書いてあったのですが、
documentプロパティが返す、HTMLDocumentオブジェクトの内容・・・というのもありました。
MSDNで、HTMLDocumentを調べたのですが(英語なので自信ないですけど)なんかピントがずれたこと書いてあるようなきがしました。

分かりづらくなったのでまとめると、WebBrowserで表示された文字の検索を、
直接ソースから検索しようと思うのですが、
documentプロパティが返すHTMLDocumentオブジェクトの使い方が分かりません。

誰か分かる方いましたら、是非教えてもらえないでしょうか?
よろしくお願いします。
#977-1
RE#971:再びwebBrowserにて
> WebBrowser上に表示されている文字列を検索しようと思ったのですが、

とりあえずサンプル。

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
    
    If Len(Text1.Text) = 0 Then Exit Sub
    
    Set Doc = WebBrowser1.Document
    Set Body = Doc.Body
    Set objRange = Body.createTextRange
    
    '≫≫≫≫≫ 検索開始
    Do While objRange.findText(Text1.Text)
        '検索後、発見した文字位置までスクロールさせるために、
        '最初に見つかった位置を保存しておきます。
        If Len(BMK) = 0 Then BMK = objRange.getBookmark

        '分かりやすいように、検索した語句を黄色く反転させています。
        objRange.execCommand "BackColor", False, "YELLOW"

        '論理カーソル位置を、検索した語句の末尾に移動させます。
        objRange.collapse False
    Loop
    '≪≪≪≪≪ 検索終了
    
    '最初に見つけた語句の位置までスクロールさせています。
    If Len(BMK) > 0 Then
        objRange.moveToBookmark BMK
        objRange.scrollIntoView
    End If

    '最後は後始末。
    Set objRange = Nothing
    Set Body = Nothing
    Set Doc = Nothing
End Sub
#982-2
RE#977:再びwebBrowserにて
魔界の仮面弁士さん、何度もありがとうございます。
早速サンプルを解読してみます。
どうもありがとうございました。

いつも過去ログ見てて思うのですが、
魔界の仮面弁士さんって何でも知ってるんですね。
過去ログ重宝させてもらっています。
#977-0
RE#971:再びwebBrowserにて
> WebBrowser上に表示されている文字列を検索しようと思ったのですが、

とりあえずサンプル。

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
    
    If Len(Text1.Text) = 0 Then Exit Sub
    
    Set Doc = WebBrowser1.Document
    Set Body = Doc.Body
    Set objRange = Body.createTextRange
    
    '≫≫≫≫≫ 検索開始
    Do While objRange.findText(Text1.Text)
        '検索後、発見した文字位置までスクロールさせるために、
        '最初に見つかった位置を保存しておきます。
        If Len(BMK) = 0 Then BMK = objRange.getBookmark

        '分かりやすいように、検索した語句を黄色く反転させています。
        objRange.execCommand "BackColor", False, "YELLOW"

        '論理カーソル位置を、検索した語句の末尾に移動させます。
        objRange.collapse False
    Loop
    '≪≪≪≪≪ 検索終了
    
    '最初に見つけた語句の位置までスクロールさせています。
    If Len(BMK) > 0 Then
        objRange.moveToBookmark BMK
        objRange.scrollIntoView
    End If

    '最後は後始末。
    Set objRange = Nothing
    Set Body = Nothing
    Set Doc = Nothing
End Sub
#982-0
RE#977:再びwebBrowserにて
魔界の仮面弁士さん、何度もありがとうございます。
早速サンプルを解読してみます。
どうもありがとうございました。

いつも過去ログ見てて思うのですが、
魔界の仮面弁士さんって何でも知ってるんですね。
過去ログ重宝させてもらっています。
このページと関連する記事:
#33322-0テキスト 又は リッチテキストでの複数選択方法2000-11-12(日) 22:17
#16638-0webbrowserコントロール内の文字列の検索の仕方2001-06-17(日) 13:54
#44826-0WebBrowserを使って自動入力2001-07-09(月) 12:41
#4338-2getElementsByName2002-01-27(日) 12:53
#43844-0GIFアニメーションの貼り付け2001-06-08(金) 11:33
#803-3WebBrowserを開いてHP中のボタンを押すには?2001-10-31(水) 16:05
#726-3フェードインとフェードアウト2002-06-01(土) 14:02
#3862-2webブラウザコントロールについて2002-01-16(水) 02:18
#35755-0動画の貼り付け2000-12-21(木) 10:33
#971-0再びwebBrowserにて2001-11-04(日) 04:31
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)