Excel VBAでInternetExplorerを操作する方法

Excel VBAでのInternetExplorer操作について

VBA(Visual Basic for Applications)でInternetExplorerを操作するためには、 操作用の機能がまとまったライブラリ(COMコンポーネント)を使用できるようにし、 そのコンポーネントを使ったプログラミングを行います。

InternetExplorer操作の準備

ライブラリの参照設定

まず、InternetExplorerを操作するためのライブラリを参照設定から追加します。

VisualBasicEditorを開き、メニューの「ツール」→「参照設定」をクリックします。
Excel VBAで参照設定画面を表示する

「参照設定」ウィンドウが開きますので、
・「Microsoft HTML Object Library」
・「Microsoft Internet Controls」
にチェックを入れ、OKボタンを押します。
Excel VBAの参照設定でInternetExplorerを操作する「Microsoft HTML Object Library」「Microsoft Internet Controls」ライブラリを追加

あとは画面に適当にボタンを配置して、標準モジュールに以下のサンプルプログラムを貼り付けて実行すれば、InternetExplorerが起動してページが表示されます。

サンプルプログラム

						Public objIE As Object  'IEオブジェクト参照用

						Sub btnIEOpen_Click()
							
							Set objIE = CreateObject("InternetExplorer.application")    'IEのオブジェクト作成
							objIE.Visible = True                                        'IEを表示
							objIE.Navigate ("https://web.biz-prog.net/index.html")
						
						End Sub
					

InternetExplorer操作の解説


上記のサンプルプログラムを解説します。

参照設定で追加した2つのライブラリですが、
「Microsoft Internet Controls」はInternetExplorerの制御を行うためのものです。
「Microsoft HTML Object Library」は、表示しているページの操作をプログラムで簡単に行えるようにするものです。

Public objIE As Object
は、操作するInternetExploreのオブジェクトを格納する変数です。 以降のInternetExplore操作はこの変数を使って行います。

Set objIE = CreateObject("InternetExplorer.application")
では、InternetExplorerの起動と、objIE変数へのInternetExplorerオブジェクト格納を行います。
Set objIE = New InternetExplorer
でも構いません。

objIE.Visible = True
ではInternetExplorerを表示させます。起動時は非表示になっているので、この設定を行わないと画面に見えません。
※画面に見えなくてもプロセスとしては起動しているので、タスクマネージャーで確認はできます。

objIE.Navigate ("https://web.biz-prog.net/index.html")
にて、指定したURLをInternetExplorerで表示します。

参考