(選択モードに基づいて)指定した検索文字列、部分文字列と一致するInternet Explorerのインスタンスを取得します。
#include <IE.au3>
_IEAttach ( $s_string [, $s_mode = "Title" [, $i_instance = 1]] )
パラメータ
$s_string | 検索文字列 ("embedded"、"dialogbox"では、タイトルの部分文字列またはウィンドウのHWND) |
$s_mode | [オプション]検索モードを指定します Title = (デフォルト) メインドキュメントタイトルの部分文字列 WindowTitle = フルウィンドウタイトルの部分文字列 (ドキュメントタイトルの代用) URL = 現在のページのURLまたは部分文字列 Text = 現在のページのボディのテキストの部分文字列 HTML = 現在のページのボディのHTMLの部分文字列 HWND = ブラウザウィンドウのHWND Embedded = コントロールを埋め込んであるウィンドウのHWNDまたはタイトルの部分文字列 DialogBox = モーダル/モーダレスダイアログボックスのHWNDまたはタイトルの部分文字列 Instance = $s_stringは無視され、全ての利用可能なブラウザインスタンスから(インスタンス番号が一致する)1つが返されます。 |
$i_instance | [オプション]$s_string、$s_modeと一致するブラウザ、埋め込みブラウザのグループの1始まりのインデックス。注意を参照。 |
返し値
成功: | Internet Explorerオブジェクトを指すオブジェクト変数。ただしEmbeddedモードとDislogBoxモードではウィンドウオブジェクトが返される |
失敗: | 0を返し@ERRORを設定します |
@Error: | 0 ($_IEStatus_Success) = 正常終了 |
5 ($_IEStatus_InvalidValue) = 無効な値 | |
7 ($_IEStatus_NoMatch) = 一致するものがありません | |
@Extended: | 無効なパラメータの番号が格納されています |
注意
_IEAttachではブラウザによって作成されたモーダル/モーダレスダイアログを取得するために"dialogbox"パラメータが提供されています。ただしブラウザによって作成された全てのダイアログがこの方法で取得・制御できるわけではないので注意が必要です。これらのダイアログの多くは実際は標準的ウィンドウであり、従来のAutoItウィンドウ関数で制御することが可能です。これらのウィンドウを見分けるための信頼性の高い方法は "AutoIt Window Info"を使用することです。ウィンドウに"Internet Explorer_Server"というコントロールが存在する場合にはこの関数で取得することが可能です。存在しない場合にはそれは標準的ウィンドウであり、制御するためには従来のAutoItウィンドウ関数を使用しなければなりません。
関連
_IECreate, _IECreateEmbedded, _IEQuit
例
; *******************************************************
; 例 1 - タイトルに"AutoIt"とあるブラウザを取得。そのURLを表示
; *******************************************************
;
#include <IE.au3>
$oIE = _IEAttach ("AutoIt")
MsgBox(0, "The URL", _IEPropertyGet ($oIE, "locationurl"))
; *******************************************************
; 例 2 - トップレベルドキュメントのテキストに
; "The quick brown fox"とあるブラウザを取得
; *******************************************************
;
#include <IE.au3>
$oIE = _IEAttach ("The quick brown fox", "text")
; *******************************************************
; 例 3 - 他のウィンドウに埋め込まれているブラウザコントロールを取得
; *******************************************************
;
#include <IE.au3>
$oIE = _IEAttach ("A Window Title", "embedded")
; *******************************************************
; 例 4 - 他のウィンドウに埋め込まれている3番目のブラウザコントロールを取得
; タイトルに文字列'ICQ'を含む2番目のウィンドウ
; にウィンドウ名の特別な記述の仕方を使用
; *******************************************************
;
#include <IE.au3>
$oIE = _IEAttach ("[REGEXPTITLE:ICQ; INSTANCE:2]", "embedded", 3)
; *******************************************************
; 例 5 - 現在存在する全ブラウザインスタンスの参照オブジェクトの配列を作成
; 配列の先頭要素には見つかったインスタンスの数が格納される
; *******************************************************
;
#include <IE.au3>
Dim $aIE[1]
$aIE[0] = 0
$i = 1
While 1
$oIE = _IEAttach ("", "instance", $i)
If @error = $_IEStatus_NoMatch Then ExitLoop
ReDim $aIE[$i + 1]
$aIE[$i] = $oIE
$aIE[0] = $i
$i += 1
WEnd
MsgBox(0, "Browsers Found", "Number of browser instances in the array: " & $aIE[0])