2011年1月17日月曜日

VBAでIE操作~IE起動とロード待機のプロシージャ~

VBAでIEを操作するマクロの開発。
IEの起動とURLアクセス後のページ読み込み待機処理はマクロ中でよく使う部品なのでサブルーチン化しました。
きれいなソースを目指してあれこれ調べては改造を繰り返していますが、とりあえずこれで使えるものになったかなぁ・・・ということでエントリーです。

以下ソース


'【要件】
'IEの起動
'指定URLの表示


'【要件詳細】
'空白のIEページを表示する
'表示したIEページ上で指定したURLのページを表示する
'指定したページの読み込みが完了するまで待機する


'【処理フロー】
'空白IEWindow起動
'  ↓
'指定URLへリンク
'  ↓
'ページ読み込み待機


'【プログラム上の制約】
'サブプロシージャとして機能できるよう、パブリック変数を使用する


'【構成】
'-Option Explicit
'--パブリック変数
'-BootIE
'--IEの起動
'-WaitIE
'--ページ読込待機


'【詳細設計】
'------------------------------< start of source >------------------------------
Option Explicit
Public objIE As Object      'IEオブジェクトをセットする

'--------------------< start of SubRoutine >--------------------
Sub BootIE()
'空白のIEページを表示する
  
    'IEObjectをセット
    Set objIE = CreateObject("InternetExplorer.application")
  
    'セットしたObjectをActivate
    objIE.Visible = True
  
    'Objectの表示位置調整
    objIE.Top = 0
    objIE.Left = 0
  
End Sub
'----------< end of SubRoutine >----------


'--------------------< start of SubRoutine >----------
Sub WaitIE()
'指定したページの読み込みが完了するまで待機する
    Do Until objIE.busy = False
        DoEvents
    Loop
  
End Sub
'----------< end of SubRoutine >----------
'------------------------------<  end of source  >------------------------------

0 件のコメント:

コメントを投稿