WebBrowserで複数フレームのドキュメントを扱うには?


マロン  2005-06-30 22:43:21  No: 90747

いつもお世話になります。
以前こちらでの質問で、WebBrowserコントロールでリッチテキストボックス
におけるSelTextと同じ結果を得るための方法として、いろいろアドバイス
を頂いた内容を私なりにまとめて、下記のコードでその目的が達成できるこ
とを理解いたしました。

さてここで質問なのですが、フレームを使用していないドキュメントの場合
は、下記のコードで問題ないことはわかりましたが、フレームを使用している
ドキュメントの場合には、例えば、マウスのクリックでフレームを特定する
ような処理を加えないといけないと思うのですが、その方法がいまいちよく
分かりません。

こちらでの検索で内容的に近そうなものを読んでいましたら、

     WebBrowser1.Document.frames

でフレームの数を求めて、特定のフレームの印刷を行うというような方法が
書かれていましたが、その「特定のフレーム」というのを特定するまでの
手続きの仕方がわかりませんでした。

複数フレームのうち一つを特定して、その特定したフレームに対してなんら
かの処理を行うためには、どのような方法があるのでしょうか。

     Private Body As MSHTML.HTMLBody
     Private WithEvents Doc As MSHTML.HTMLDocument
     Private Rng As MSHTML.IHTMLTxtRange
     Private selRng As IHTMLTxtRange

     Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    
         Set Doc = WebBrowser1.Document
         Set Body = WebBrowser1.Document.Body
         Set Rng = Body.createTextRange

     End Sub

     Private Function Doc_onclick() As Boolean

         Set selRng = Doc.selection.createRange

               〜処理A〜

         Set selRng = Nothing
         Doc_onclick = True

     End Function


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加