« 【株】 2008/05/09(金) ±0 日経▲287.92 | トップページ | 【Excel VBA備忘ログ】htmlファイルから特定のタグを取り出す »

【Excel VBA備忘ログ】IEの表示完了を待つ(修正)

IEの表示が完了する前に、submitやclickなどを行うとエラーに
なってしまうため、IEが表示し終わるのを待つ必要がある。
ループでウェイトを組んでやるのが手っ取りばやい。

0)準備

Const WAITTIME As Integer = 5        'ウェイト時間を定義(5秒)

Dim IE as object
Dim url as string
Set IE = CreateObject("InternetExplorer.application")
IE.Navigate url
※urlは開きたいURLを指定

1)IEの表示が終わるまで待つ

Dim timeout As Date

(1)スタート時の時間よりも未来の時間を作っておく
 timeout = DateAdd("s", WAITTIME, Now())

(2)上記の(1)の時間に到達する(タイムアウト)又は
 IE.BusyフラグがFalseになる(=IEの動作が完了した)までループ
Do While IE.Busy = True
    DoEvents
    If timeout < Now() Then
        Exit Do
    End If
Loop

(3)再度、タイムアウト時間を更新
 timeout = DateAdd("s", WAITTIME, Now())

(4)BusyフラグがFalseになってもデータ読み込みが完了しているとは
 限らないため、readyStateフラグが4(読み込み完了)までループ
Do While IE.readyState <> 4
  DoEvents
  If timeout < Now() Then
    Exit Do
  End If
Loop

(5)最終的に成功しているか   
If IE.Busy = False And objIE.readyState = 4 Then
 Debug.Print "成功しました"
End If

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

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

« 【株】 2008/05/09(金) ±0 日経▲287.92 | トップページ | 【Excel VBA備忘ログ】htmlファイルから特定のタグを取り出す »

Excel」カテゴリの記事

コメント

コメントを書く

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

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

トラックバック

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

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

« 【株】 2008/05/09(金) ±0 日経▲287.92 | トップページ | 【Excel VBA備忘ログ】htmlファイルから特定のタグを取り出す »

amazon

マイリスト

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