WobBrowserでページ内の文字検索を行いたい

タグの編集
投稿者 zakzak  (高校生) 投稿日時 2012/3/6 13:02:36
VB 2008で、WobBrowser上にHTML形式の文章を閲覧できるようなプログラムを作成しています。
その際、ブラウザの検索機能のようなものが欲しいのですが、WebBrowserには検索機能はないのでしょうか?
もしも検索機能がなければ作ってみたいのですが、どのようにすればいいのでしょうか?
さしあたり、検索文字の箇所を選択状態にしてWobBrowserに表示させる方法が分かれば、
応用として次候補・前候補の選択もできるかな、と考えていますが、難しいでしょうか。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/3/6 14:33:13
標準の検索機能で良ければ、WebBrowser コントロールに対して、
アンマネージ版の ExecWB メソッドを呼び出し、第一引数に OLECMDID_FIND を
渡してやれば OK です。第二引数は OLECMDEXECOPT_DODEFAULT で良いかと。

CallByName(WebBrowser1.ActiveXInstance, "ExecWB", CallType.Method, 32, 0)


もう少し細かく制御したいなら、IHTMLTxtRange を取得します。
下記は、大昔にわたしが作った VB6 版。
http://yaplog.jp/orator/archive/9

下記は、それをbrvさんが VB.NET 向けに翻訳したもの。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=9299
投稿者 zakzak  (高校生) 投稿日時 2012/3/6 16:58:49
あ...この掲示板にすでに同じ質問がありましたね。
魔界の仮面弁士さん、ありがとうございました
早速試してみます。
投稿者 窓XP VB2010 Express   (小学生) 投稿日時 2012/6/15 19:50:11
僕もブラウザーの検索機能を作りたいのですが・・・
その時僕に検索機能の作り方を教えたいときには下記のURLにNavigateしてください。
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10894#CommentId23774
あと、zakzakさんのコメントに間違いがありますが・・・
WebBrowserをWobBrowserと間違えています。
質問は誤字脱字の無いように心がけてくださいね。