Private ie As Object
Private Sub UrlOpen_Click()
Dim URL0 As String
Dim time10 As Date '時刻格納用
Set ie = CreateObject("InternetExplorer.Application")
URL0="http://******"
ie.Visible = True
ie.Navigate URL0
time10 = DateAdd("s", 10, Now()) '現在から10秒後を計算
Do While ie.Busy = True 'ビジー、読み込み中の間
DoEvents
If time10 < Now() Then '10秒経過したか?
MsgBox "タイムアウトです"
Exit Sub
End If
Loop
ie.Quit
Set ie = Nothing
End Sub
----------------
上記のようなプログラムをくんでホームページをOPENさせているのですが
対象となるホームページがポップアップWindowを開いてしまいます、
上記のプログラムだとPOPUPしたWindowが閉じて、はじめに開いたWindowが残ってしまいます、ここから開いた関係のあるWindowを全て閉じるにはどうしたらよいのでしょうか?
POPUPをとじるのではないですけど、開かないようにする方法です。
Microsoft Internet Controls を参照。
Private WithEvents IE As InternetExplorer と宣言。
Private Sub IE_NewWindow2(ppDisp As Object, Cancel As Boolean)
Cancel = True
End Sub
を記述。
これでポップアップは開きません。
早速のご回答ありがとうございます。
でも今回の場合どうしてもPOPUPWindowも開きたいのです。
M'sさんが書いた、WithEventsで処理ができるような気がするのですがやり方がわかりません?
Private WithEvents IE_P As InternetExplorer を追加。
Private Sub IE_NewWindow2(ppDisp As Object, Cancel As Boolean)
Set ppDisp = IE_P
End Sub
で、
Private Sub IE_OnQuit()
IE_P.Quit
End Sub
メインを閉じたらIE_Pも閉じる。
M'sさんいろいろありがとうございました。上記のコマンド使わせて頂きます、それといろいろ個人的な理由で返事が遅くなってすいませんでした。また何かありましたら宜しくお願いします。
ツイート | ![]() |