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)」をクリックします。(Alt →T→ R)
②表示されたライブラリファイル一覧から以下をチェックし→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操作を覚えて効率化しませんか?
作成が大変であれば弊社で代行開発も可能です。お気軽にお問い合わせください。
コメント