
エクセルVBAで IE読み込み完了まで、というサンプルは有るのですが
時間来ても、読み込め無い時 中止の処理ですが、
下記で如何でしょうか(実験が出来ないので、お知恵拝借)
さらに、もっと、スマートな方法が有ればご教示ください。
Set IE = CreateObject("internetExplorer.application")
url = yobiurl ' "http://admin.blog.fc2.com/control.php?mode=edito …
With IE
.Navigate url
.Visible = True
i = 1
Do While .Busy = True
Call Sleep(50) '0.05sec * 400 =20秒
DoEvents
i = i + 1
If i > 399 Then
.Quit
' End With
Set IE = Nothing
Exit Sub
End If
Loop
i = 1
Do While .document.ReadyState <> "complete"
Call Sleep(50)
DoEvents
i = i + 1
If i > 399 Then
.Quit
' End With
Set IE = Nothing
Exit Sub
End If
Loop
No.1ベストアンサー
- 回答日時:
イベントドリブンでやるのはいかがでしょうか。
イベントを捕捉するためにクラスモジュールに記述する必要があります。
簡便にクラスモジュールである、シートモジュールに記述して試してみました。
'Microsoft Internet Control
'Microsoft HTML Object Library
'に参照設定
Public WithEvents ie As WebBrowser
Sub test()
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://www.hoge^3.jp/" 'ありそうもないURL
End Sub
'下記でエラーがトラップできます
'但しGoogle Tool Bar アドインが有効だと、検索画面に移ってしまってNavigateErrorになりませんでした。
Private Sub ie_NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean)
Debug.Print pDisp.Name
Debug.Print URL
Debug.Print Frame
Debug.Print StatusCode
Cancel = True
End Sub
'NavigateErrorと、エラーコードについてはこちら
'http://msdn.microsoft.com/en-us/library/bb268221 …
'http://msdn.microsoft.com/en-us/library/bb268233 …
首尾良く読込完了のイベントDocumentComplete、NavigateComplete2等は下記をご参照下さい。
http://d.hatena.ne.jp/dayflower/20070926/1190787 …
こちらもご参考まで。
http://okwave.jp/qa/q8434979.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba userFormのSubを標準モジュ...
-
ベースモジュールって?
-
本当にPublicな変数(配列で)
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
モジュールからフォームのボタ...
-
Excel VBA 『Call』で呼び出す...
-
VBAで旧字体を異字体に一括で変...
-
標準モジュールにpublicで宣言...
-
VBAProjectのモジュ...
-
VBAを使用してWordからExcelの...
-
クラスモジュールを使わないと...
-
【vba】フォームに書いてあ...
-
モジュールの最大数はいくつな...
-
ユーザー定義関数に#NAME?が返...
-
Access VBA標準モジュールにつ...
-
Excelシート内セル記述の違いに...
-
グラフのX,Y座標を取得したい
-
クラスモジュールについて
-
エクセルVBA クラスモジュール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
エクセルVBAでシートモジュール...
-
VBでグローバル変数を宣言するには
-
ユーザー定義関数に#NAME?が返...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBA 定義されたプロージ...
-
vba userFormのSubを標準モジュ...
-
標準モジュールを削除したい。(...
-
'Range'メソッドは失敗しました
-
VBAで別モジュールへの変数の受...
-
モジュールからフォームのボタ...
-
モジュールの最大数はいくつな...
-
グラフのX,Y座標を取得したい
-
モジュールとクラスの違いって...
-
【vba】フォームに書いてあ...
-
Form間の値の渡し方
-
VBのフォームモジュールと標準...
-
VBA モジュールで共通に使う変...
-
Excel VBA 『Call』で呼び出す...
-
acwzlibとは?
おすすめ情報