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

【Excel VBA備忘ログ】WebBrowserコントロール版IEの表示完了を待つ(再修正)

IEの表示完了を待つ処理はWebBrowserコントロールのイベントで
置き換える事ができる(それでもBusyとreadyStateは待つべきと判明)

------標準モジュール又はシート-------

'イベント発生フラグ
Dim documentcompleted As Boolean
Dim navigatecompleted As Boolean
Dim downloadcompleted As Boolean

Function ie_wait(objIE As WebBrowser)

    Dim timeout As Date

    ie_wait = False

    '5秒でタイムアウト
    timeout = DateAdd("s", 50, Now())
    'DocumentCompletedイベント発生を待つ
    Do While documentcompleted = False
        DoEvents
        If timeout < Now() Then
            Debug.Print "ready timeout"
            Debug.Print "objIE.Busy"; objIE.Busy
            Debug.Print "objIE.readyState"; objIE.readyState
            Exit Function
        End If
    Loop

    'NavigateCompletedイベント発生を待つ
    timeout = DateAdd("s", 50, Now())
    Do While navigatecompleted = False
        DoEvents
        If timeout < Now() Then
            Debug.Print "ready timeout"
            Debug.Print "objIE.Busy"; objIE.Busy
            Debug.Print "objIE.readyState"; objIE.readyState
            Exit Function
        End If
    Loop

    'DownloadCompletedイベント発生を待つ
    timeout = DateAdd("s", 50, Now())
    Do While downloadcompleted = False
        DoEvents
        If timeout < Now() Then
            Debug.Print "ready timeout"
            Debug.Print "objIE.Busy"; objIE.Busy
            Debug.Print "objIE.readyState"; objIE.readyState
            Exit Function
        End If
    Loop

    ie_wait = True

End Function

------WebBrowserコントロールを貼り付けたシート-------

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    documentcompleted = True
End Sub

Private Sub WebBrowser1_DownloadComplete()
    downloadcompleted = True
End Sub

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    navigatecompleted = True
End Sub

※ie_waitを呼ぶ前にイベント発生フラグをリセットしておく。

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

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

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

Excel」カテゴリの記事

コメント

コメントを書く

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

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

トラックバック

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

この記事へのトラックバック一覧です: 【Excel VBA備忘ログ】WebBrowserコントロール版IEの表示完了を待つ(再修正):

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

amazon

マイリスト

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