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