VBAでIEを操作する方法はネットを検索しても、
まだ確立されきっていないように感じますので、
素人が学びながら、そこまで深堀せずに簡単に説明していきたいと思います。
VBAでIEの任意のサイトを表示させる方法
VBAの入門編として、まずIEの画面を表示させる必要があります。
下記コードでは、サンプルの"https://nujonoa.com/vba-ie-sample/"を開くための
コードを記載してみました。
ダブルクリックでコピーできますのでとりあえず張り付けて実行してみてください。
Sub IEdisplay()
'IEの起動
Dim objIE As object
Set objIE = GetObject("", "InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate "https://nujonoa.com/vba-ie-sample/" ' このURLを任意に変更
' ページの表示完了待ち。
While objIE.ReadyState <> 4 Or objIE.Busy = True
DoEvents
Wend
End Sub
重要な要素を簡単に説明
重要な要素簡単に説明していこうと思います。
Set objIE = GetObject("", "InternetExplorer.Application")objIE.Visible = True
GetObject(pathname, class)は、
GetObject(pathname, class)は、
外部のアプリケーションにアクセスする関数になっています。
今回はIEに接続するので、classに”InternetExplorer.Application”を入力しています。
これを"Word.Application"に変えるとワードが開けるなどなど
microsoftのアプリケーションにアクセスするための最初の手段となっております。
Set ○○=▲▲
Set ○○=▲▲ は○○を▲▲として扱うというものになり、
簡単な例を示すとでいうと、
Set C11=worksheets("sheet1").cells(1,1)とすると、
それ以降、C11は worksheets("sheet1").cells(1,1) の代わりになります。
ですので、
worksheets("sheet1").cells(1,1).value は C11.value と非常にシンプルに置き換えることができます。
今回はこれ以降、objIE を GetObject("", "InternetExplorer.Application")として取り扱います。
objIE.Visible = True
GetObject関数でIEは開いているのですが、
バックグラウンドで開いているだけになっていますので、
.visible=trueとすることで、表示をさせることができます。
objIE.Navigate "URL"
.Navigate "URL"を用いることで、任意のURLを表示させることができます。
現在はサンプルサイトを表示されるようにしておりますが、
任意のURLに置き換えていただけたらと思います。
While objIE.ReadyState <> 4 Or objIE.Busy = True DoEvents Wend
重たいサイトなどは読み込みをしないと次の動作に移れませんので、
読み込みを完了するのを待つためのコードです。
その他、VBAでIEを動かすために必要な情報をまとめています!!
コメント欄