別のブラウザコントロールで開いた場合のオブジェクト名

解決


ひふ  2007-08-16 19:13:19  No: 99319

宜しくお願いします。今ブラウザコントロールで以下のように別ウィンドウでホームページを開いています。

Private Sub WebBrowser1_NewWindow2(ppDisp As Object,
                                   Cancel As Boolean)
   Dim frmWB As Form1
   Set frmWB = New Form1

   frmWB.WebBrowser1.RegisterAsBrowser = TRUE

   Set ppDisp = frmWB.WebBrowser1.Object
   frmWB.Visible = True
End Sub

新しく開いたウィンドウにおいてブラウザの選択したテキストを取得したいのですが出来ません。元のウィンドウではForm1.WebBrowser1.Document.Selection.createRange().Textとしてテキストを取得しています。新しいウィンドウではオブジェクトはどのように指定したらよいでしょうか。


魔界の仮面弁士  2007-08-17 04:28:01  No: 99320

フォームが 自分自身の WebBrowser1 を参照するのであれば、
  Form1.WebBrowser1.〜
の構文ではなく、
  Me.WebBrowser1.〜
の構文を利用してみてください。

(自分自身ではなく)他のフォームの WebBrowser1 を参照するのであれば、
  [フォームのインスタンス].WebBrowser1.〜
の構文を利用してみてください。たとえば提示されたコードでは、フォームが
  Set frmWB = New Form1
で生成されているので、(このイベント内では)frmWB.WebBrowser1.〜 です。


ひふ  2007-08-17 07:49:36  No: 99321

魔界の仮面弁士さんありがとう御座います。とりあえず自分自身の WebBrowser1 を参照するのでMe.WebBrowser1.〜ですね。気づきませんでした。他のフォームも参考になります。


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

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






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