« 【株】 2008/05/23(金) -2000 日経△33.74(追記) | トップページ | 【株】 2008/05/26(月) ±0 日経▲322.01 »

【Excel VBA備忘ログ】IEの表示完了を待つ(改良版) 補足

どうも調子の悪いIE表示待ち。
試行錯誤の途中ですが、ちょっと効果のありそうな方法を。
ミソはWebBrowserのBusyがFalseかつreadyStateが4で安定するまで
複数回一致での待機。

Function ie_wait(objIE As WebBrowser) As Boolean
    Dim timeout As Date
    Dim cnt As Integer
   
    '読みこみ完了まで待つ
   
    '読み込み中なら以下を繰り返す
    cnt = 0
    timeout = DateAdd("s", 50, Now())
    Do
        '下記ステータス30回一致(3回程度では不足)
        If objIE.Busy = False And objIE.readyState = 4 Then
            cnt = cnt + 1
            If cnt > 30 Then
                Exit Do
            End If
        Else
            cnt = 0
        End If
       
        'タイムアウトチェック
        If timeout < Now() Then
            ie_wait = False
              Exit Function
        End If
        DoEvents
    Loop

    ie_wait = True
End Function

※補足 一致回数は3回程度でよさそうだが、フレームを持つ
 ページではこれでもまだ不足。

※さらに補足 全フレームに対してこのチェックを行います。

にほんブログ村 株ブログ 株日記へ にほんブログ村 株ブログへ

★★何でも見つかる!Yahoo!ショッピング★★

« 【株】 2008/05/23(金) -2000 日経△33.74(追記) | トップページ | 【株】 2008/05/26(月) ±0 日経▲322.01 »

Excel」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/36872/21148184

この記事へのトラックバック一覧です: 【Excel VBA備忘ログ】IEの表示完了を待つ(改良版) 補足:

« 【株】 2008/05/23(金) -2000 日経△33.74(追記) | トップページ | 【株】 2008/05/26(月) ±0 日経▲322.01 »

amazon

マイリスト

  • 暮らしをおトクにかえていく|ポイントインカム
  • 暮らしをおトクにかえていく|ポイントインカム
  • フルーツメール
無料ブログはココログ