三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

6/14 .Busy プロパティ の テスト IE操作 VBA objIE

www.youtube.com

.Busy プロパティ の テスト です。 .Busyだけでは待ちきれない・・・を説明しようとして、いつ ものように解説が空回りしてます(笑)
カテゴリ: 科学と技術

タグ: .Busy プロパティ テスト IE操作 VBA objIE 三流君

テストのソースは http://ken3-info.blog.ocn.ne.jp/objie/2009/06/busy_ad6a.html を見てください。

よく私が使うIEの表示待ちは、
While objIE.Busy = True 'IEが忙しい(.Busy=True)あいだループする
DoEvents 'Doeventsは重いので嫌いな人居るけど
Wend
みたいに objIE.Busy = True でループさせてます。

でも、 objIE.Busy = True だけだと、完全に待てない、そんなテストをしてみます。

'参照設定 Microsoft Internet Controls(Microsoft Browser Helpers)
'参照設定の方法は、 http://www.ken3.org/cgi-bin/group/vba_ie_object.asp をみてください。

Sub ie_test()  'ページの移動後、 .Busy プロパティを見る

    '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   '一番下のステータスバーを表示。
    
    '.gohome で ほーむを表示する。
    objIE.GoHome
    
    'ページの表示を待ち
    Dim strWORK As String   '前回表示文字
    Dim strBusy As String   '秒とBusyを文字列にする
    strWORK = ""
    While objIE.Busy    '.Busy=Trueの間まわる。
        strBusy = Second(Now) & ":" & objIE.Busy  '秒と.Busyを作成
        If strWORK <> strBusy Then  '前回表示した文字列と比較して違ったら
            Debug.Print strBusy     '秒とBusyを表示する。
            strWORK = strBusy       '表示した文字を保存する。
        End If
        DoEvents
    Wend
    
    Debug.Print objIE.Busy   'ループを抜けた後、最後に表示する。

End Sub

'↑から少しテスト方法を変えて、5秒間ループさせ、
'その間、.Busyの値が変化したら、表示してみました。
Sub ie_test()  'ページの移動後、5秒間 .Busy プロパティを見るテスト

    '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   '一番下のステータスバーを表示。
    
    '.gohome で ほーむを表示する。
    objIE.GoHome
    
    'ページの表示を待ち
    Dim time5 As Date     '5秒後
    Dim strSS As String   '表示する秒
    Dim strWORK As String '現在の秒を保存する
    
    time5 = DateAdd("s", 5, Now()) '5秒後をDateAddで計算して代入
    strSS = ""  '表示する秒を初期化
    While Now <= time5   '現在時刻Nowが計算した5秒後以下の間ループ
        strWORK = Second(Now) & ":" & objIE.Busy     '秒と.Busyを代入
        If strWORK <> strSS Then  '表示した文字と違ったら、
            strSS = strWORK       '表示文字を新たにセット
            Debug.Print strSS     'Debug.Printでイミディエイトへ表示
        End If
    Wend

    objIE.Quit

End Sub

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

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)