InternetExplorerオブジェクトのContainerプロパティ

<< エクセルVBAのInternetExplorerオブジェクトのBusyプロパティ :前の記事

こちらでは、エクセルVBAで利用するInternetExplorerオブジェクトのContainerプロパティについて解説しています。

プロパティとはオブジェクトの属性を指します。属性とは、そのオブジェクトの情報そのものです。プロパティはその値を取得したり、設定することもできます。プロパティを利用するにはオブジェクト名とプロパティ名の間に「.(ピリオド)」で結んで記述します。

オブジェクト名.プロパティ名

また、プロパティを設定する場合は以下のように「=(イコール)」を記述し設定値を代入します。

オブジェクト名.プロパティ名 = 設定値

目次

Containerプロパティとは

InternetExplorerオブジェクトのContainerプロパティの詳細については現在、調査中です。まとまり次第最新情報を公開しますので、今しばらくお待ちください。

また、Containerプロパティ読み取り専用のプロパティになります。

Containerプロパティは、コンテナ/親へのオブジェクト参照を取得します。

Set オブジェクト変数 = objIE.Container

構文object.Container
データ型(戻り値)オブジェクト型(Object)
引数省略説明
object×IEオブジェクトを指定します。

Containerプロパティを利用したサンプルコード

こちらの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制御」サイトのトップページが表示されます。

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プロシージャを終了させます。

InternetExplorerオブジェクトのプロパティ

プロパティ名内容
AddressBarアドレスバーを表示・非表示させます。
Applicationアプリケーションオートメーションオブジェクトにアクセス可能であれば、そのオートメーションオブジェクトを返す。
BusyWebページが読み込み中かどうかを示す。
Containerコンテナ/親へのオブジェクト参照を取得します。
Document指定したドキュメントを返します。
FullNameInternetExplorerアプリケーションのファイルパスを返します。
FullScreenウィンドウを最大化し、ステータスバー、ツールバー、メニューバー、およびタイトルバーを非表示にします。
HeightInternetExplorerウィンドウの高さ(ピンクセル)を設定します。
HWND指定したInternetExplorerのHWNDを返します。
LeftInternetExplorerウィンドウの水平位置(ピクセル)を設定します。
LocationName指定したページのタイトルを取得します。
LocationURL指定したページのURLを取得します。
MenuBarメニューバーを表示・非表示させます。
Name(規定プロパティ)アプリケーションの名前を返します。
OfflineInternetExplorerのオフライン/オンラインを切り替えます。(オフラインの場合は、キャッシュから読み込む)
Parentコンテナ/親が存在する場合は、そのオートメーションオブジェクトのオートメーションオブジェクトを返します。
PathInternetExplorerアプリケーションのフォルダパスを返します。
ReadyStateIEオブジェクトのドキュメントの読み込み状態を示します。
RegisterAsBrowserOCが(ターゲットの名前解決のための)トップレベルのブラウザとして登録します。
RegisterAsDropTargetOCは、ナビゲーションのためのドロップターゲットとして登録します
Resizableウィンドウサイズ変更の可否を設定します。
Silent任意のダイアログボックスを表示することかどうかを設定する。
StatusBarステータスバーを表示・非表示させます。
StatusTextステータスバーのテキストを取得します。
TheaterModeInternetExplorerのシアターモードを設定します。
ToolBarツールバーが表示されているのを制御します。
TopInternetExplorerウィンドウの垂直位置(ピクセル)を設定します。
TopLevelContainer指定したオブジェクトがトップレベルのオブジェクトである場合にTrueを返します。
Type含まれているドキュメントオブジェクトの型を返します。
Visibleアプリケーションの表示・非表示を設定します。
WidthInternetExplorerウィンドウの幅(ピンクセル)を設定します。

InternetExplorerオブジェクトのメソッド

メソッド名内容
ClientToWindowウィンドウ·サイズにクライアントのサイズを変換します。
ExecWBのIOleCommandTarget :: Execの
GetPropertyオブジェクトのコンテキスト内のプロパティvtValueための関連する値を取得します。
GoBack履歴リスト内の前の項目に移動します。
GoForward履歴リスト内の次の項目に移動します。
GoHome家に帰る/ページを開始します。
GoSearch検索ページに移動します。
NavigateURLまたはファイルに移動します。
Navigate2URLまたはファイルまたはPIDLに移動します。
PutPropertyオブジェクトのコンテキストで名前szPropertyに関連付けますvtValue。
QueryStatusWB
Quitアプリケーションを終了し、開いているドキュメントを閉じます。
Refresh現在閲覧ページを更新します。
Refresh2現在閲覧ページを更新します。
ShowBrowserBarのClsidにBrowserBarを設定
Stopファイルを開く停止します。

次の記事: エクセルVBAのInternetExplorerオブジェクトのDocumentプロパティ >>

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

VBAのIE制御についてのQ&A掲示板

↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。

ExcelのVBA初心者入門

↑こちらはVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります。

目次

IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作のVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作のステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。