Excel VBAでInternetExplorerを操作する方法

Excel VBAでのInternetExplorer操作について

VBA(Visual Basic for Applications)でInternetExplorerを操作するためには、
操作用の機能がまとまったライブラリを使ってプログラミングを行います。
ここではExcelのVBAを使ったIE操作について解説します。

ExcelVBAを学ぶなら以下の本がおすすめです。

初心者向け 中級者向け 中級者向け

エクセル互換のソフトではVBAが完全に動作しませんので、互換ではなく正規のExcelが必要です。

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で表示します。

参考