|
カド さん、りん さん、こんばんは。
>聞き忘れたことがあります。
>
>IEが開いたときに、リンク切れで
>”お探しのページは見つかりませんでした。”
>と出るときは、そのIEを閉じたいのですが、
>このようなことは可能なのでしょうか?
探ってみたら、こんな方法で出来ました(他にも方法はあるかもしれません)。
まず、参照設定で「Microsoft Internet Controls」にチェックして下さい。
標準モジュールに
'==============================================================
Private ie_class(1 To 5) As Class1
'==============================================================
Sub main()
For idx = 1 To 5
Set ie_class(idx) = New Class1
With ie_class(idx)
Set .ep = CreateObject("InternetExplorer.Application")
.err_flg = False
With .ep
.Visible = True
.Navigate Range("b" & idx).Value
Do While .Busy = True Or .ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
End With
If .err_flg = True Then
.ep.Quit
End If
End With
Next idx
End Sub
次にクラスモジュール(名前は、既定名のClass1)に、
'==============================================================
Public WithEvents ep As InternetExplorer
' err_flg true エラー発生
' false エラー無し
Public err_flg As Boolean
'==============================================================
Private Sub ep_NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean)
On Error Resume Next
err_flg = True
On Error GoTo 0
End Sub
'==============================================================
Private Sub ep_OnQuit()
Set ep = Nothing
End Sub
これで、プロシジャーmainを実行してみてください。
確認してみて下さい。
但し、繰り返しの実行は、正常に表示されたIEを一度全て閉じてから実行して下さい。
|
|