POPUPフォームを閉じるには

解決


ぽぽ  2005-08-09 17:05:44  No: 91414  IP: [192.*.*.*]

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を全て閉じるにはどうしたらよいのでしょうか?

編集 削除
M's  2005-08-09 17:43:48  No: 91415  IP: [192.*.*.*]

POPUPをとじるのではないですけど、開かないようにする方法です。

Microsoft Internet Controls を参照。

Private WithEvents IE As InternetExplorer  と宣言。

Private Sub IE_NewWindow2(ppDisp As Object, Cancel As Boolean)
    Cancel = True
End Sub

を記述。

これでポップアップは開きません。

編集 削除
ぽぽ  2005-08-09 17:57:11  No: 91416  IP: [192.*.*.*]

早速のご回答ありがとうございます。
でも今回の場合どうしてもPOPUPWindowも開きたいのです。
M'sさんが書いた、WithEventsで処理ができるような気がするのですがやり方がわかりません?

編集 削除
M's  2005-08-10 10:32:38  No: 91417  IP: [192.*.*.*]

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も閉じる。

編集 削除
ぽぽ  2005-08-14 09:34:00  No: 91418  IP: [192.*.*.*]

M'sさんいろいろありがとうございました。上記のコマンド使わせて頂きます、それといろいろ個人的な理由で返事が遅くなってすいませんでした。また何かありましたら宜しくお願いします。

編集 削除