Excel-VBA IEwait ブラウザに送ってちょっと待つ

ファンクション説明:
UserFormに埋め込んだIEでサイトに移動する時に、少し待つ。

( ..)φメモメモ、、、Office2007以降からこれ要らないかも?
あーーーー、でも基本違うかも。。。余分?ログイン必要な時つかおーと使ってたが、


( ..)φメモメモ
ユーザーフォームにBrowserオブジェクト使うなら、
参照ライブラリ確認 Microsoft Internet Controlsが必要。
ieframe.dll
らしい。

UserForm名 = FormA
埋め込んだブラウザオブジェクト名=IEBrowserA
としているとして。


Sub ブラウズ()
FormA.Show
FormA.IEBrowserA.Navigate "サイトアドレス"
Call ie_Wait(FormA.IEBrowserA,50)
End Sub

Function ie_wait(objIE As WebBrowser, Wtime As Integer) As Boolean
Dim timeout As Date
Dim cnt As Integer

'読みこみ完了まで待つ
'読み込み中なら以下を繰り返す
cnt = 0
timeout = DateAdd("s", Wtime, Now())
Do
'ステータス30回一致(数回では不足)
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

やっぱ、ユーザーフォーム持ったExcelより、呼び出して、取得して、戻して、本体は軽い方が良いな。
勉強しないと。。。

通常つかうブラウザはIE好きじゃないし…







amazon.co.jpで買う
Amazonアソシエイト by ストーリーで学ぶ Excel VBAと業務改善のポイントがわかる本 【演習問題付き】 の詳しい情報を見る / ウェブリブログ商品ポータル


ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック