プロが教える店舗&オフィスのセキュリティ対策術

VBAで、標準モジュールにて呼び出したIEオブジェクトをUserForm上から
制御する方法があればご教授願います。

Sub SampleModule()

Dim objIE As Object

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "http://www.yahoo.co.jp"

UserForm1.Show

~~~~~~~~~~

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Module1.SampleModule.objIE.Navigate "http://www.google.co.jp"
↑こういう感じの解をイメージしてます。

End Sub

つまり、標準モジュールでセットしたオブジェクトを、呼び出した
フォーム上から参照したいわけです。宜しくお願いします。

A 回答 (2件)

Dim objIE As Object



を削除して、

Public objIE

として、標準モジュールに登録し、

Module1.SampleModule.objIE.Navigate "http://www.google.co.jp"

を、

objIE.Navigate "http://www.google.co.jp"


にすればいいのでは。
リストボックスのダブルクリックでリストボックスの
アイテムの中のURLを選択するというように見えますが、
そのあたりはいかがですか。そのような場合は、

Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
objIE.Navigate ListBox1.Text
End Sub

でもよろしいかと。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なぜかこの方法、自分の中でできないものと思い込んでいましたが
試してみたらあっさりできてしまいました。
多分むかし間違った方法で試してできなかったので、できないものと
決め付けてしまったんだと思われますが、思い込みはダメですね。

また、先の動作までフォローいただきありがとうございます。
ListBox内の選択内容に応じた変数に格納されたURLにアクセスする
予定でしたが、DblClickイベントでListBox1.Textがとれるというのは
ありがたい情報でした。

お礼日時:2012/09/08 22:37

 細かい操作はわかりませんが


表示ならActiveXコントロールの
Microsoft Web Browser をuserformに配置してするだけで
いろんなイベントや
WebBrowser1.Navigateその他のメソッドやプロパティを簡便に利用できます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
今回の質問内容とは少し違う内容でしたがUserFormのWebBrowserは
使ったことがなかったので参考になりました。

お礼日時:2012/09/08 22:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!