Function Reference

_IECreate

Internet Explorerブラウザのウィンドウを作成します。

#include <IE.au3>
_IECreate ( [$s_Url = "about:blank" [, $f_tryAttach = 0 [, $f_visible = 1 [, $f_wait = 1 [, $f_takeFocus = 1]]]]] )

 

パラメータ

$s_Url [オプション]作成後に移動するURLを指定します
$f_tryAttach [オプション]既存のウィンドウに結合するかどうかを指定します
0 = (デフォルト) 結合しません
1 = 既存のウィンドウに結合します
$f_visible [オプション]ブラウザウィンドウを表示するかどうかを指定します
0 = ブラウザウィンドウ非表示
1 = (デフォルト) ブラウザウィンドウ表示
$f_wait [オプション]ページのロード中に待機するかどうかを指定します
0 = 直ちに処理を返します。ページのロードを待ちません
1 = (デフォルト) ページのロードが完了してから処理を返します
$f_takeFocus [オプション]結合したウィンドウにフォーカスをあわせるかどうかを指定します
0 = ウィンドウにフォーカスをあわせません
1 = (デフォルト) ウィンドウにフォーカスをあわせます

 

返し値

成功: InternetExplorer.Applicationオブジェクトを指すオブジェクト変数を返します
失敗: 0を返し@ERRORを設定します
@Error: 0 ($_IEStatus_Success) = 正常終了
1 ($_IEStatus_GeneralError) = 一般的なエラー
3 ($_IEStatus_InvalidDataType) = 無効なデータ型
4 ($_IEStatus_InvalidObjectType) = 無効なオブジェクト型
6 ($_IEStatus_LoadWaitTimeout) = ロード待機タイムアウト
8 ($_IEStatus_AccessIsDenied) = アクセス拒否
9 ($_IEStatus_ClientDisconnected) = クライアント切断
@Extended: $f_tryAttachが成功したかどうかに応じて成功(1)、失敗(0)が設定されます

 

注意

結合設定使用時に結合可能なウィンドウが存在しない場合は_IEAttachによってコンソールにエラー表示がおこなわれます。これは_IEErrorNotifyを使って制御することが可能です。

ローカルのハイパーテキストアプリケーション(.hta)ファイルを開く場合、Internet Explorerは_IECreateが返すオブジェクト変数からはアクセス不可能な新しいブラウザプロセスを開きます。この新しいブラウザを制御するためには"embedded"オプションで_IEAttachを使用する必要があります。

Windows Vistaの新しいセキュリティーシステムではからブラウザに異なるセキュリティーゾーンのURLへの移動命令が出された場合、新しいブラウザウィンドウが作成されます。これは_IECreateを使ってはじめてウィンドウを作成して初期移動する場合でも同じです。新しいウィンドウは新しいブラウザのインスタンスであり、以前のブラウザのオブジェクト変数はもうそれを指していません。いくつかの回避策があります: 1)コードに#RequireAdminを追加 (これはアカウントが管理者グループの一部であっても必要です。必要に応じて証明プロンプトが表示されます)、2)_IEAttachを使って新しいブラウザウィンドウに接続、3)IEでターゲットサイトを信頼できるサイトセキュリティゾーンに追加、4)IEで"保護モード"を解除、5)UACを無効にする。信頼できないサイトにアクセスする場合はIEのセキュリティー機能の無効化が及ばす影響についてよく理解するようにしてください。

 

関連

_IEAttach, _IECreateEmbedded, _IEQuit, _IENavigate, _IELoadWait

 


; *******************************************************
; 例 1 - ブラウザウィンドウを作成しウェブサイトに移動
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("www.autoitscript.com")

; *******************************************************
; 例 2 - 既存のものがない場合3つの異なるURLで
;               新しいブラウザウィンドウを作成($f_tryAttach = 1)
;               ページのロード完了を待たない($f_wait = 0)
; *******************************************************
;
#include <IE.au3>
_IECreate ("www.autoitscript.com", 1, 1, 0)
_IECreate ("my.yahoo.com", 1, 1, 0)
_IECreate ("www.google.com", 1, 1, 0)

; *******************************************************
; 例 3 - あるウェブサイトのURLを開いている既存のブラウザに結合を試みる
;               既存のブラウザが存在しない場合、新しいブラウザを作成し、そのサイトに移動する
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("www.autoitscript.com", 1)
; 結合が成功したかどうか確認するため@extendedの返し値を調べる
If @extended Then
    MsgBox(0, "", "Attached to Existing Browser")
Else
    MsgBox(0, "", "Created New Browser")
EndIf

; *******************************************************
; 例 4 - 空のブラウザを作成し、作成したHTMLを表示させる
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ()
$sHTML = "<h1>Hello World!</h1>"
_IEBodyWriteHTML ($oIE, $sHTML)

; *******************************************************
; 例 5 - 非表示のブラウザを作成し、ウェブサイトに移動
;               情報を取得し、終了
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate ("http://sourceforge.net", 0, 0)
; ページ上の"sfmarquee"というnameの要素のinnerTextを表示
$oMarquee = _IEGetObjByName ($oIE, "sfmarquee")
MsgBox(0, "SourceForge Information", $oMarquee.innerText)
_IEQuit ($oIE)

; *******************************************************
; 例 6 - 新しいiexplore.exeのインスタンスに結合するブラウザを作成
;               これは新しいセッションCookieコンテキストを取得するためにしばしば必要になる
;               (セッションCookieは同じiexplore.exeを共有するほぼ全てのブラウザインスタンスで共有される)
; *******************************************************
;
#include <IE.au3>
ShellExecute ("iexplore.exe", "about:blank")
WinWait ("Blank Page")
$oIE = _IEAttach ("about:blank", "url")
_IELoadWait ($oIE)
_IENavigate ($oIE, "www.autoitscript.com")