VBAのIE(InternetExplorer)制御でInternetExplorerオブジェクトのContainerプロパティについて解説しています。
<< エクセルVBAのInternetExplorerオブジェクトのBusyプロパティ :前の記事
こちらでは、エクセルVBAで利用するInternetExplorerオブジェクトのContainerプロパティについて解説しています。
プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。
オブジェクト名.プロパティ名
また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。
オブジェクト名.プロパティ名 = 設定値
InternetExplorerオブジェクトのContainerプロパティの詳細については現在、調査中です。まとまり次第最新情報を公開しますので、今しばらくお待ちください。
また、Containerプロパティは読み取り専用のプロパティになります。
Containerプロパティは、コンテナ/親へのオブジェクト参照を取得します。
Set オブジェクト変数 = objIE.Container
構文 | object.Container | |
---|---|---|
データ型(戻り値) | オブジェクト型(Object) | |
引数 | 省略 | 説明 |
object | × | IEオブジェクトを指定します。 |
こちらのVBAコードは、Containerプロパティを利用したマクロです。
Sub sample()
Dim objIE As InternetExplorer
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を表示する
objIE.Visible = True
'指定したURLのページを表示する
objIE.navigate "http://www.vba-ie.net/"
'完全にページが表示されるまで待機する
Do While objIE.Container = True Or objIE.readyState <> 4
DoEvents
Loop
Set オブジェクト変数 = objIE.Container
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
「VBAのIE制御」サイトのトップページが表示されます。
Sub sample()
Dim objIE As InternetExplorer
※ドラッグ(スワイプ)すると全体を確認できます。
こちらはSubステートメントに引数の設定がないsampleプロシージャになります。 まずは、変数宣言でメモリ領域を割り当てるDimステートメントを利用してオブジェクト変数objIEに「InternetExplorer型」を変数宣言しています。
これによりInternetExplorerオブジェクトを作成した際にプロパティやメソッドを利用できるようになりました。
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Container")
※ドラッグ(スワイプ)すると全体を確認できます。
次にオブジェクトを参照するSetステートメントとオブジェクトを作成するCreateObject関数を利用してInternetExplorerのオブジェクトを作成します。
'IE(InternetExplorer)を表示する
objIE.Visible = True
※ドラッグ(スワイプ)すると全体を確認できます。
こちらでは、InternetExplorerオブジェクトのVisibleプロパティに「True」が設定されています。VisibleプロパティはIE(InternetExplorer)の表示・非表示の設定になりますので、「True」を設定するとIE(InternetExplorer)が表示されます。
'指定したURLのページを表示する
objIE.navigate "http://www.vba-ie.net/"
※ドラッグ(スワイプ)すると全体を確認できます。
こちらは指定したURLをIE(InternetExplorer)で表示するInternetExplorerオブジェクトのNavigateメソッドの設定です。第一引数は表示させるWebページのURLの設定になりますので「http://www.vba-ie.net/」を設定すると「VBAのIE制御」サイトのトップページが表示されます。
'完全にページが表示されるまで待機する
Do While objIE.Container = True Or objIE.ReadyState <> 4
DoEvents
Loop
※ドラッグ(スワイプ)すると全体を確認できます。
こちらは、Do~Loop ステートメントを利用して、ページが完全に読み込まれるまでループさせる処理を行っています。それぞれのプロパティでWebページが完全に読み込まれた場合の戻り値は、Containerプロパティが「False」、ReadyStateプロパティが「4」になりますので、たとえContainerプロパティで「False」になったとしてもReadyStateプロパティが「4」でない場合はループから抜け出すことはできません。
こちらを抜け出すためには、ContainerプロパティとReadyStateプロパティの両方が完全に読み込み完了状態になった場合のみとなります。こちらの処理について「http://www.vba-ie.net/ie/navigate.html」で詳しく解説していますので、確認してください。
Set オブジェクト変数 = objIE.Container
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
InternetExplorerオブジェクトのContainerプロパティの詳細については現在、調査中です。まとまり次第最新情報を公開しますので、今しばらくお待ちください。
最後はEndステートメントを利用してsampleプロシージャを終了させます。
プロパティ名 | 内容 |
---|---|
AddressBar | アドレスバーを表示・非表示させます。 |
Application | アプリケーションオートメーションオブジェクトにアクセス可能であれば、そのオートメーションオブジェクトを返す。 |
Busy | Webページが読み込み中かどうかを示す。 |
Container | コンテナ/親へのオブジェクト参照を取得します。 |
Document | 指定したドキュメントを返します。 |
FullName | InternetExplorerアプリケーションのファイルパスを返します。 |
FullScreen | ウィンドウを最大化し、ステータスバー、ツールバー、メニューバー、およびタイトルバーを非表示にします。 |
Height | InternetExplorerウィンドウの高さ(ピンクセル)を設定します。 |
HWND | 指定したInternetExplorerのHWNDを返します。 |
Left | InternetExplorerウィンドウの水平位置(ピクセル)を設定します。 |
LocationName | 指定したページのタイトルを取得します。 |
LocationURL | 指定したページのURLを取得します。 |
MenuBar | メニューバーを表示・非表示させます。 |
Name(規定プロパティ) | アプリケーションの名前を返します。 |
Offline | InternetExplorerのオフライン/オンラインを切り替えます。(オフラインの場合は、キャッシュから読み込む) |
Parent | コンテナ/親が存在する場合は、そのオートメーションオブジェクトのオートメーションオブジェクトを返します。 |
Path | InternetExplorerアプリケーションのフォルダパスを返します。 |
ReadyState | IEオブジェクトのドキュメントの読み込み状態を示します。 |
RegisterAsBrowser | OCが(ターゲットの名前解決のための)トップレベルのブラウザとして登録します。 |
RegisterAsDropTarget | OCは、ナビゲーションのためのドロップターゲットとして登録します |
Resizable | ウィンドウサイズ変更の可否を設定します。 |
Silent | 任意のダイアログボックスを表示することかどうかを設定する。 |
StatusBar | ステータスバーを表示・非表示させます。 |
StatusText | ステータスバーのテキストを取得します。 |
TheaterMode | InternetExplorerのシアターモードを設定します。 |
ToolBar | ツールバーが表示されているのを制御します。 |
Top | InternetExplorerウィンドウの垂直位置(ピクセル)を設定します。 |
TopLevelContainer | 指定したオブジェクトがトップレベルのオブジェクトである場合にTrueを返します。 |
Type | 含まれているドキュメントオブジェクトの型を返します。 |
Visible | アプリケーションの表示・非表示を設定します。 |
Width | InternetExplorerウィンドウの幅(ピンクセル)を設定します。 |
メソッド名 | 内容 |
---|---|
ClientToWindow | ウィンドウ·サイズにクライアントのサイズを変換します。 |
ExecWB | のIOleCommandTarget :: Execの |
GetProperty | オブジェクトのコンテキスト内のプロパティvtValueための関連する値を取得します。 |
GoBack | 履歴リスト内の前の項目に移動します。 |
GoForward | 履歴リスト内の次の項目に移動します。 |
GoHome | 家に帰る/ページを開始します。 |
GoSearch | 検索ページに移動します。 |
Navigate | URLまたはファイルに移動します。 |
Navigate2 | URLまたはファイルまたはPIDLに移動します。 |
PutProperty | オブジェクトのコンテキストで名前szPropertyに関連付けますvtValue。 |
QueryStatusWB | |
Quit | アプリケーションを終了し、開いているドキュメントを閉じます。 |
Refresh | 現在閲覧ページを更新します。 |
Refresh2 | 現在閲覧ページを更新します。 |
ShowBrowserBar | のClsidにBrowserBarを設定 |
Stop | ファイルを開く停止します。 |
次の記事: エクセルVBAのInternetExplorerオブジェクトのDocumentプロパティ >>
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)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。