<スポンサーリンク>

【簡単】VBAでIEの任意のサイトを表示させる方法~VBA(マクロ)でIE操作

IE関係
この記事は約3分で読めます。
コピーボタン
記事のタイトルとURLをコピー
<スポンサーリンク>

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を動かすために必要な情報をまとめています!!

コメント欄

<スポンサーリンク>
タイトルとURLをコピーしました