Microsoft HTML Object Library,Microsoft Internet Controlsの追加方法
エクセルVBAでIE(InternetExplorer)制御のマクロを実行する場合、エクセルの初期段階では動作せずエラーになってしまいます。IEを操作するためには、HTMLDocumentオブジェクトを利用するためのライブラリ(COMコンポーネント)が必要となりますので、まずはライブラリが使えるようにVBEの「参照設定」から追加する方法を説明します。
目次
ライブラリ(COMコンポーネント)とは
ライブラリとは、汎用性の高いプログラム群を再利用できるような形にまとめたものになります。IE制御を行うためのライブラリも用意されているのですが、初期段階では利用できませんので、こちらを利用できるように設定していきます。
IE制御に必要なライブラリ
IEを制御するために必要なライブラリは以下の2つになります。
- Microsoft HTML Object Library
- Microsoft Internet Controls
こちらを「参照設定」から設定することでIE制御に必要なHTMLDocumentオブジェクトが利用できるようになります。
VBEの「参照設定」設定方法
設定は以下のような手順で行っていきます。
- ①VBAのコード編集画面(VBE)を表示させます。(ショートカットAlt+F11)
- ②「メニュー」→「ツール」→「参照設定」を選択します。
- ③「Microsoft HTML Object Library」「Microsoft Internet Controls」にチェックを入れます。
- ④「OK」をクリックして完了です。
設定が完了したら、再度「参照設定」画面を表示し、以下のように「Microsoft HTML Object Library」「Microsoft Internet Controls」にチェックが付いていることを確認してください。これで、IEを制御するためのライブラリが使えるようになります。
ライブラリの動作確認(IE起動のテスト)
こちらは実際にライブラリが使えるかのIE起動のテスト用マクロです。
内容は気にせずに下記のプログラムを標準モジュールに貼り付けて実行してみてください。
Sub IE()
Dim objIE As InternetExplorer
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を起動する
objIE.Visible = True
End Sub
実行結果
実行結果のようにIEが起動されたら、正常にライブラリが利用できる状態が確認できます。
まとめ
エクセルVBAでIE制御するためには、外部ライブラリを利用して操作していくということが理解できたかと思います。外部ライブラリはIE制御の他にもデータベースを操作するDAO(Data Access Obiect)など様々なライブラリが用意されています。非常に便利なライブラリも多いので利用する際には1つ1つ覚えていきましょう。
それでは、準備が完了しましたら次は「IE制御の基本操作」になります。こちらはIE制御の基本で重要な項目となります。ここを理解できなければ次へは進めませんので、何度も読み返して理解するようにしましょう。
次の記事: IE制御の基本操作 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。