[三流解説IEのトップページへ] / [IE プロパティの一覧へ 戻る]

.ReadyStateプロパティ とは

プロパティ .ReadyState とは、機械和訳だと 準備完了状態 です。(あまり意味無いか)
三流プログラマーの勝手な解釈・方言だと:
.ReadyState で IEの状態が数値で返ってきます(IEの準備・読み込み状態を数値で取得することができます)
よく見かけるIEの表示待ちは、
.ReadyStateが4(READYSTATE_COMPLETE)になるまでループ
下記のような感じだと思います。


    While objIE.ReadyState <> 4 'READYSTATE_COMPLETE = 4
        DoEvents     'Doeventsは重いので嫌いな人居るけど
    Wend
まぁ、4 READYSTATE_COMPLETE とか定数が気になるところですが、、、


正式な解説・説明はMSDNで:[.ReadyState Property]を見てください。


.ReadyState を 使用した三流サンプル

.ReadyStateプロパティ を 使用した三流サンプル を 紹介します
.ReadyState プロパティ の テスト IE操作 VBA
http://www.youtube.com/watch?v=-tVlRY0DSZU

よく見かけるIEの表示待ちは、
.ReadyStateが4(READYSTATE_COMPLETE)になるまでループ
下記のような感じだと思います。
    While objIE.ReadyState <> 4 'READYSTATE_COMPLETE = 4
        DoEvents     'Doeventsは重いので嫌いな人居るけど
    Wend

でも、 なぜ4?と疑問を持ちますよね?
そんな疑問を少しでも解消するためにループの中で.ReadyStateを表示するテストをしてみます。
'参照設定 Microsoft Internet Controls(Microsoft Browser Helpers)
'参照設定の方法は、 http://www.ken3.org/cgi-bin/group/vba_ie_object.asp をみてください。

Sub ie_test()  'ページの移動後、.ReadyState <> READYSTATE_COMPLETE を テストする。

    'IEの起動
    Dim objIE As InternetExplorer '変数を定義します。
    Set objIE = CreateObject("InternetExplorer.Application") 'オブジェクトを作成します。
    objIE.Visible = True '可視、Trueで見えるようにします。
    
    '表示位置とサイズを調整する
    objIE.FullScreen = False  '※まぁ、わざわざ設定しなくてもいいけど。
    objIE.Top = 100      '左上 上位置
    objIE.Left = 100     '左上 左位置
    objIE.Width = 800    '横幅
    objIE.Height = 600   '高さ
    
    'XXXバー、外観・外枠の調整。
    objIE.Toolbar = True     'タブの切り替えで必要なので、ツールバーを表示にする
    objIE.MenuBar = False    'メニューは非表示にする
    objIE.AddressBar = True  'URLなど アドレスバーは確認のため、表示する
    objIE.StatusBar = True   '一番下のステータスバーを表示。
    
    'テストで yahoo.co.jp を表示する。
    Debug.Print objIE.ReadyState   'ページ移動前に.ReadyStateをテストで表示する。
    objIE.Navigate "http://www.yahoo.co.jp/"

    'ページの表示を待ち
    Dim strWORK As String   '前回表示文字
    Dim strReadyState As String   '秒とReadyStateを文字列にする
    strWORK = ""
    While objIE.ReadyState <> READYSTATE_COMPLETE '.ReadyState <> 4の間まわる。
        strReadyState = Second(Now) & ":" & objIE.ReadyState  '秒と.ReadyStateを作成
        If strWORK <> strReadyState Then  '前回表示した文字列と比較して違ったら
            Debug.Print strReadyState     '秒とReadyStateを表示する。
            strWORK = strReadyState       '↑で表示した文字を保存する(次回比較用)
        End If
        DoEvents  '重いので嫌いな人居るけど。
    Wend
    
    Debug.Print objIE.ReadyState   'ループを抜けた後も念のため、最後に表示する。

End Sub

動作結果と動画解説 http://www.youtube.com/watch?v=-tVlRY0DSZU


.ReadyState 関連項目 リンク

三流君が .ReadyState の 関連項目 を 紹介します
おっと、その前に正式な場所は(繰り返し紹介すると) MSDNで:[.ReadyState Property]を見てください。

Googleを使用して検索する

読者の声:三流君の説明・解説じゃ .ReadyStateプロパティ が よくわからなかったから、Googleを使って、自分で検索します。
三流君:残念です。あっ、下記にGoogleの検索窓を設置しました。
よく使われる変数名 : oIE,MyIE,objIE

オブジェクトの指定として : InternetExplorerWebBrowser
を指定しました。※この指定で検索するとサンプルが拾いやすいと思います。

Google 探す言葉:
検索場所:
WWW 全体から検索
microsoft.com の全体を検索 MSDN を指定して検索
三流君 ken3.org を検索 三流君Blogのサンプルコードを検索


ページフッター リンクや広告、質問送信など

三流解説を読んでいただき、どうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、※質問や感想は、気軽に送ってくださいね。

[IE操作 三流解説のトップページへ 戻る] / [IE操作の三流サンプル一覧へ 戻る]

[三流君 VBAでWebBrowser IEを操作する] / [三流君 VBAで楽しくプログラミング] / [AB型の変わり者 三流プログラマー Ken3 三流君Top]

F1でヘルプを見たり、デバック時にDebug.Print使ったり、イミディエイト ウインドウで簡単な確認したり。
なれると当たり前に操作している方法が↓かなぁ。
[F1ヘルプ マクロ記録ほか]・・・基本のF1を押してヘルプを見る方法など
[実行時エラー、デバッグモード]・・・デバッグの流れを簡単に(ハマった時はツライけど)
[イミディエイト ウインドウ と Debug.Print]・・・プログラム作成時に便利なイミディエイト ウインドウ
[VBA ウォッチ式とSTOPを使ってみた]・・・STOPで止め、ウォッチ式でオブジェクトの中身を確認する方法など
[参照設定のお話]・・・設定すると便利な(設定しないと使えない)、参照設定のお話

項目別に↓にプログラマーの本音?それとも建て前?的な記事をまとめました。お探しのジャンルを選択してください。
[プログラムは心? spirit]・・・プログラマー 心・気質・魂
[学ぶ study]・・・学習、技術の取得
[仕様書 doc]・・・仕様書・設計書関係の話

項目別に↓に人気の記事をまとめてみました。お探しのジャンルを選択してください。
[VBAでIE ウェブブラウザーを操作]・・・VBAでIE,WebBrowserを操作する サンプルです
[MSアクセス から エクセル を呼ぶ Excel.Application]・・・AccessからExcelを操作したりデータの書き出しなどです
[アウトルック メールの操作 Outlook.Application]・・・VBAからOutlookを使い、メール関係を処理するサンプルです
↑上記3つみたいなCreateObjectで他のアプリケーションを操作するサンプルが人気です。

Blog:[三流君の作業日記]/ [objIEを使用したサンプルコードを見る]/ 広告-[通販人気商品の足跡]

質問や要望など メッセージを送る(三流君に連絡する)

三流プログラマーのKen3 が 皆さんの質問にお答えします
と カッコつけて言っても、実力不足ですべての質問に回答することはできないのが現実なのですが、できる範囲で 三流的な逃げ手 や 解決方法 を探します(回答します)。

感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。

あなたのお名前(ニックネーム):さん
返信は?: 不用(HP更新を待つ) , E-mail→ アドレス:に返事をもらいたい



(感想や質問・要望 メッセージはHPで記事に載せることがあります。)

急ぎで連絡がほしい、そんな時は:[三流君連絡先]に連絡してください。



[トップページへ 戻る] / [プロパティの一覧へ 戻る]