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

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

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

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

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

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

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

目次

スポンサー リンク

Applicationプロパティとは

InternetExplorerオブジェクトのApplicationプロパティはInternetExplorerアプリケーションのオートメーションオブジェクトにアクセスが可能であれば、そのオートメーションオブジェクトを返します。

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

Set オブジェクト変数 = InternetExplorerオブジェクト.Application

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

ApplicationプロパティでIEオブジェクトを取得するサンプルコード

こちらのVBAコードは、ApplicationプロパティでIEオブジェクトを取得するマクロです。

Sub sample()

  Dim objIE As InternetExplorer
  Dim objIE2 As InternetExplorer

  'IE(InternetExplorer)のオブジェクトを作成する
  Set objIE = CreateObject("InternetExplorer.Application")

  'IE(InternetExplorer)を表示する
  objIE.Visible = True

  'オブジェクトをセットします。
  Set objIE2 = objIE.Application

  '指定したURLのページを表示する
  objIE2.navigate "http://www.vba-ie.net/"

  '完全にページが表示されるまで待機する
  Do While objIE2.Busy = True Or objIE2.readyState <> 4
    DoEvents
  Loop
  
  MsgBox "objIEオブジェクトを開放してApplicationプロパティを設定します。"
  
  'オブジェクト開放
  Set objIE = Nothing
  
  'オブジェクトがないためエラーになります。
  Set objIE2 = objIE.Application

End Sub

実行結果

①IEを通常通り起動します。(既定値:Application = True)
②メッセージボックスが表示され、「OK」を押下します。
③Applicationプロパティが「False」に設定され、IE(InternetExplorer)のアドレスバーが非表示になります。

VBAのIE制御サイト画面実行時エラー'91'

解説

Sub sample()

  Dim objIE  As InternetExplorer
  Dim objIE2 As InternetExplorer

こちらはSubステートメント引数の設定がないsampleプロシージャになります。 まずは、変数宣言でメモリ領域を割り当てるDimステートメントを利用してオブジェクト変数objIE,objIE2に「InternetExplorer型」を変数宣言しています。

これによりInternetExplorerオブジェクトを作成した際にプロパティメソッドを利用できるようになりました。


  'IE(InternetExplorer)のオブジェクトを作成する
  Set objIE = CreateObject("InternetExplorer.Application")

次にオブジェクトを参照するSetステートメントとオブジェクトを作成するCreateObject関数を利用してInternetExplorerのオブジェクトを作成します。


  'IE(InternetExplorer)を表示する
  objIE.Visible = True

こちらでは、InternetExplorerオブジェクトのVisibleプロパティに「True」が設定されています。VisibleプロパティIE(InternetExplorer)の表示・非表示の設定になりますので、「True」を設定するとIE(InternetExplorer)が表示されます。


  'オブジェクトをセットします。
  Set objIE2 = objIE.Application

こちらは、Setステートメントを利用してInternetExplorerのオブジェクトのApplicationプロパティで返ってきたオートメーションオブジェクトを参照しています。これによりオブジェクト変数objIE2でもInternetExplorerオブジェクトを操作することができます。


  '指定したURLのページを表示する
  objIE2.navigate "http://www.vba-ie.net/"

こちらは指定したURLをIE(InternetExplorer)で表示するInternetExplorerオブジェクトのNavigateメソッドの設定です。第一引数表示させるWebページのURLの設定になりますので「http://www.vba-ie.net/」を設定すると「VBAのIE制御」サイトのトップページが表示されます。

今回は、オブジェクト変数objIE2に対して処理を行いましたが、オブジェクト変数は値の代入ではなくオブジェクトの参照ですので、オブジェクト変数objIEに対して処理をしても同じ結果となります。


  '完全にページが表示されるまで待機する
  Do While objIE.Busy = True Or objIE.ReadyState <> 4
    DoEvents
  Loop

こちらは、Do~Loop ステートメントを利用して、ページが完全に読み込まれるまでループさせる処理を行っています。それぞれのプロパティでWebページが完全に読み込まれた場合の戻り値は、Busyプロパティが「False」、ReadyStateプロパティが「4」になりますので、たとえBusyプロパティで「False」になったとしてもReadyStateプロパティが「4」でない場合はループから抜け出すことはできません。

こちらを抜け出すためには、BusyプロパティReadyStateプロパティ両方が完全に読み込み完了状態になった場合のみとなります。こちらの処理について「http://www.vba-ie.net/ie/navigate.html」で詳しく解説していますので、確認してください。


  MsgBox "objIEオブジェクトを開放してApplicationプロパティを設定します。"

こちらは、MSgBox関数を利用してメッセージボックスが表示されます。「OK」を押下すると次の処理へ移ります。


  'オブジェクト開放
  Set objIE = Nothing

こちらは、Setステートメントを利用して、Nothingを指定することでオブジェクト変数objIEを解除します。これでInternetExplorerオブジェクトを利用することができなくなりました。


  'オブジェクトがないためエラーになります。
  Set objIE2 = objIE.Application

End Sub

こちらは、SetステートメントApplicationプロパティを利用して、再度オブジェクト変数objIE2を生成しようとしていますが、オブジェクト変数objIEには何も設定されていませんので、実行時エラーエラーが表示されます。

最後は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オブジェクトのBusyプロパティ >>

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

近田 伸矢, 植木 悠二, 上田 寛

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

  • このエントリーをはてなブックマークに追加
VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

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

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

【ダウンロード】IE操作に便利なツール

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

スポンサー リンク

IEオブジェクトのメソッド・プロパティ

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

IE操作に利用されているVBA関数

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

スポンサー リンク

IE操作に利用されているステートメント

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

IE(InternetExplorer)制御のVBAコード

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