VBAのIE(InternetExplorer)制御の基本操作について解説しています。
<< InternetExplorer制御の準備(ライブラリ追加) :前の記事
前回の「InternetExplorer制御の準備(ライブラリ追加)」ではIE制御に必要なライブラリの追加を行いました。この「エクセルVBAでIE制御の基本操作」では、VBAでIEを操作するにあたっての基本的な部分を詳しく解説していきます。Webページのデータ抽出など実用性の高い処理を行う際に必ず必要な基本操作となりますので、しっかりマスターしましょう。
まず、基本中の基本である指定したURLをIE(InternetExplorer)で起動させる制御方法について解説していますが、指定したURLを開く際に注意しなければならないポイントがあります。初心者の方がよく躓く部分ですので内容をしっかり理解した上で利用するようにしましょう。
サブルーチンとは、何度も繰り返し利用されるソースを一つのプログラムにまとめたものです。サブルーチン化することで可読性や保守性を高く保つことができます。IE制御では同様の処理をすることが多々ありますので、そういった処理をサブルーチン化させると非常に効率が良いです。ここでは、サブルーチン化させるメリットを理解しましょう。
「指定したURLをIEで起動する」で解説したプログラムをサブルーチン化させる方法について解説しています。 この処理が一番よく利用されるプログラムとなります。また、他のプログラムのサブルーチン化については、それぞれのコンテンツで解説していますので1つ1つ理解しましょう。
エクセルVBAでIEを起動させた後に別のURLを指定して表示させる制御方法について解説しています。Webページのデータを自動収集する(Webスクレイピング)場合などでは取得したURLを巡回させることがよくありますので、その際にこちらの処理を利用します。
エクセルVBAで起動させたIEを閉じる制御方法について解説しています。複数起動させたIEを閉じる処理についても併せてご確認ください。
Webページのデータ自動収集(Webスクレイピング)でエラーが発生することはよくあることです。その際にブラウザが閉じてしまった場合、最初から処理をやり直すのは非常に無駄な作業となってしまいます。そういった場合、すでに起動しているIEを制御することができます。こちらではその制御方法について解説しています。
Webブラウザの位置やサイズを指定して表示させる方法について解説しています。ここでは、単一ブラウザでの表示位置について解説していますが、複数のWebページで表示位置を設定したい場合はパソコンの解像度を考慮する必要があります。こちらについては「複数IEの位置やサイズを指定して表示する」で説明していますので、ここではIEウィンドウの位置やサイズ設定についての基礎をマスターしましょう。
複数Webブラウザを起動させてからそれぞれの位置やサイズを指定する制御方法について解説しています。ブラウザの位置については右端からの設定ができないため、パソコンの解像度を取得してから位置設定をしていきます。
Webサービスの管理画面操作をVBAで自動操作したい場合など、エクセルとブラウザを並べて作業することがあります。エクセルとブラウザのサイズは単位が異なるため、どちらか一方に合わせる必要がありますので、そちらについても詳しく解説しています。
ここまででIEサイズを直接設定して表示させる方法について解説しましたが、プロパティを利用して簡単に最大化(フルスクリーン)させる方法があります。こちらでは、その方法について解説しています。
表示倍率のプロパティを利用した倍率設定の制御方法について解説しています。サイトを開いた際に下部にある目的のコンテンツを一目で表示したい場合などで利用します。自動スクロール処理で対応することもできますが、表示倍率設定で対応できることも覚えておきましょう。
IEウィンドウのサイズを指定する制御方法について解説しています。IEウィンドウサイズ変更を禁止することもできます。
Windows APIのIsIconic・SetForegroundWindow・ShowWindowAsyncを利用してIEウィンドウを最前面に表示させる方法について解説しています。Basic認証を自動化させる場合など確実に最前面に表示させたい場合に有効です。
IEウィンドウの各種バーを表示・非表示にする方法について解説します。各種バーのプロパティの関連性についても詳しく解説しています。
VBAでIEのJavaScriptを簡単に実行できる制御方法について解説しています。サイトによってはボタン処理をJavaScriptで設定している場合もありますので、その際に利用します。
jQueryなどでスクロールしてデータを読み込むサイトの場合は、クリック処理ではなく自動スクロール処理が必要となります。具体例をあげるとツイッターがそのような仕様になっていますので、多くのつぶやき文章を取得したい場合などでは有効な方法となります。
次の記事: エクセルVBAで指定したURLをIEで起動する >>
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
VBAのIE制御についてのQ&A掲示板↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。
ExcelのVBA初心者入門↑こちらはVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります。
こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。
こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。
こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。