VBA開発

VBAでIE操作する為の必須条件「参照設定」する【エクセルマクロ】

ExcelVBAマクロではIEを自動操作し、Webスクレイピング、Webクローリングをする事が可能です。
VBAでIE(Internet Explorer)操作の必須条件が「参照設定」です。

必要な参照設定

IE操作をする為には、必ず、以下の2種類の参照設定をONにする必要があります。

  • Microsoft HTML Object Library
  • Microsoft Internet Controls

上記の参照設定をしないと、作成したプログラムがコードが正しくてもエラーが出る場合があります。

エラー内容
ユーザ定義型は定義されていません

「参照設定」の設定方法

①Excelツールバー「開発タブ」→「Visual Basic」をクリックしてVBEを開きます。(Alt + F11)
①VBEツールバー「ツール(T)」→「参照設定(R)」をクリックします。(AltTR)
②表示されたライブラリファイル一覧から以下をチェックし→OKをクリックします。

  • Microsoft HTML Object Library
  • Microsoft Internet Controls

画面イメージ

※優先順位は気にしなくて構いません。うまく反映できない場合は、設定後エクセルを再起動してください。

なぜ参照設定をする必要がある?参照設定とは?

参照とは何を参照しているのでしょうか?それはライブラリ(COMコンポーネント)を参照します。
では、ライブラリとはなんでしょう?

汎用性の高いプログラムをまとめたものを、ライブラリといいます。
IE操作を制御するためのライブラリが「Microsoft HTML Object Library」や「Microsoft Internet Controls」です。

上記のライブラリを参照する(参照設定する)事で、下記のようなコードが有効になるというわけです。
設定がないとライブラリを参照できず、エラーとなるわけです。

Dim objIE As InternetExplorer
Set objIE = New InternetExplorer

objIE.Visible = True
objIE.Navigate ”https://www.yahoo.co.jp/”

その他

Internet Explorerを使用して、Webスクレイピングは敷居が高い風に捉えられますが、
上記のように、パーツ化して組み合わせ処理するだけです。

Web上のデータを触りたい要望は会社様でも個人様でも多いと思います。
VBA IE操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。

 

コメント

タイトルとURLをコピーしました