ken3memo (三流君)

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




[記事一覧、バックナンバーを見る]

2009-06-14

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

D

.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

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/ken3memo/20090614/1245002585




[記事一覧、バックナンバーを見る]








ブログトップ 記事一覧 ログイン 無料ブログ開設