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制御」サイトのトップページが表示されます。
解説
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 | アプリケーションオートメーションオブジェクトにアクセス可能であれば、そのオートメーションオブジェクトを返す。 |
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ウィンドウの幅(ピンクセル)を設定します。 |
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部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。