EXCEL VBA InternetExplorerの操作(Webページ操作・監視・タイトル名取得・URL取得・ブックマーク)②

 

 

EXCEL VBA InternetExplorerの操作(Webページ操作・監視・タイトル名取得・URL取得・ブックマーク)②

 

 

 ●はじめに

今回は、前回の【EXCEL VBA を利用して、InternetExplorerを制御する方法】の続きとして、Webページの表示完了待ちと、InternetExplorerで表示したタイトル名・URLを取得する説明をいたします。EXCEL VBAを利用してInternetExplorerを制御するには、「参照設定」が必要になりますので、下記の参照ページにて事前に設定を行って下さい。

【参照ページ】

EXCEL VBA InternetExplorerの操作(Webページ操作・初期設定)①

 

 

Webページの表示完了待ち(エラー防止)

 

 

 ●プログラム説明 (表示完了待ち/readystate・Busy) サンプル①

下記のサンプルプログラムは、EXCEL VBA InternetExplorerの操作①では、説明していなかったWebページを表示する際に、発生する制御エラーを防止する方法の説明です。Webページを表示するには、各通信環境により、ページが表示するまでの待ち時間が異なります。VBAでは、ページの読み込み中はWebページに対する操作を行う事ができません。そのため、読み込みが完了するまで、VBAプログラムを待機(表示待ち)する必要があります。

【ReadyStateプロパティ】

●IEオブジェクト.readyState
(InternetExplorerの状態(表示)を0~4段階の数値で返します。)

定数戻り値内容(説明)
READYSTATE_UNINITIALIZEDデフォルトの初期化状態。
READYSTATE_LOADINGオブジェクトは現在そのプロパティをロードしています
READYSTATE_LOADEDオブジェクトが初期化されました。
READYSTATE_INTERACTIVEオブジェクトはインタラクティブですが、そのすべてのデータを利用できるわけではありません。
READYSTATE_COMPLETEオブジェクトはすべてのデータを受信しました。※操作可能状態

●IEの操作可能状態は、4:READYSTATE_COMPLETE

【Busyプロパティ】

●IEオブジェクト.Busy
(InternetExplorerの状態(表示)を「True」か「False」で返します。

戻り値説明(内容)
TrueWebページの読み込み中(ビジー状態)
FalseWebページの読み込み完了(ビジー状態でない)

●IEの操作可能状態は、「False」になってから可能

 

【IEオブジェクト.readyStateを利用した場合】①

 


【IEオブジェクト.Busyを利用した場合】②

 

【IEオブジェクト.readyStateとBusyを併用した場合】③

 

 

●実行前~実行後 ※プログラム実行後、指定したURLページのWebページが表示されて、IEの操作可能状態になってから、メッセージボックスが表示されました。
(画面クリックして拡大)

 

 

 

InternetExplorerの各タイトル名を取得します。メッセージボックスに一覧表示

 

 

 ●プログラム説明 サンプル②

下記のサンプルプログラムは、InternetExplorerで開いている各ページのタイトル名を取得して、メッセージボックスに一覧表示させるサンプルプログラムです。

【プログラム実行手順】
①InternetExplorer表示されているWebページの各タイトル名を取得する。
②Webページの各タイトルを纏める。
③各タイトルを纏めたデータをメッセージボックスで表示する。

 

 

 

 ●実行前~実行後 ※プログラム実行後、IEで表示されている各Webページのタイトル名がメッセージボックスにて一覧表示されました。
(画面クリックして拡大)

 

 

IEのタイトル名を取得して、EXCELシートにタイトル名とURL転記します。

 

 

 ●プログラム説明   サンプル③

下記のサンプルプログラムは、InternetExplorerで開いている各ページのタイトル名とURLを取得して、EXCELシートに一覧表示させるサンプルプログラムです。URLは、ハイパーリンクで転記しますので、後で開く際にダブルクリックすると選択したタイトルページを開く事が出来ます。複数のIEページを開いた時に、ブックマークをする時や一時的にURLを保管したい時に便利だと思います。

【プログラム実行手順】
①InternetExplorer表示されている全てのWebページの各タイトル名とURLを取得する。
②Webページの各タイトルとURLをEXCELシート「Web一覧」へ転記します。
③EXCELシートに、各タイトルとURL(ハイパーリンク)が表示されました。

【注意事項】
EXCEL転記先シート名を「Web一覧」に設定

 

 

 

  ●実行前~実行後 ※プログラム実行後、InternetExplorer表示されている全てのWebページの各タイトル名とURLを取得して、指定したEXCELシート(Web一覧)に各タイトル名とURL(ハイパーリンク)を転記されました。
(画面クリックして拡大)

 

 

 

最後まで、ご覧いただきまして誠に有難うございました。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。