指定されたフォーム要素の値を設定します。
#include <IE.au3>
_IEFormElementOptionSelect ( ByRef $o_object, $s_string [, $f_select = 1 [, $s_mode = "byValue" [, $f_fireEvent = 1]]] )
パラメータ
$o_object | "Select Option"型のフォーム要素オブジェクト |
$s_string | 要素検索で使用される値。$s_modeに基づいて扱われます |
$f_select | [オプション]要素の選択/選択解除を指定します -1 = 選択状態を返します 0 = 要素を選択解除します 1 = (デフォルト) 要素を選択します |
$s_mode | [オプション]検索モードを指定します byValue = (デフォルト) 選択したいオプションの値 byText = 選択したいオプションのテキスト byIndex = 選択したいオプションの0始まりのインデックス |
$f_fireEvent | [オプション]値設定後に変更(OnChange)、クリック(OnClick)のイベント発行をおこなうかどうかを指定します 0 = 値設定後、OnChange、OnClickイベントの発行をおこないません 1 = (デフォルト) 値設定後、OnChange、OnClickイベントの発行をおこないます |
返し値
成功: | $f_select = -1の場合、現在の選択状態を返します。それ以外の場合、1を返します。 |
失敗: | 0を返し@ERRORを設定します |
@Error: | 0 ($_IEStatus_Success) = 正常終了 |
3 ($_IEStatus_InvalidDataType) = 無効なデータ型 | |
4 ($_IEStatus_InvalidObjectType) = 無効なオブジェクト型 | |
5 ($_IEStatus_InvalidValue) = 無効な値 | |
7 ($_IEStatus_NoMatch) = 一致するものがありません | |
@Extended: | 無効なパラメータの番号が格納されています |
注意
$f_fireEventパラメータはフォーム要素が関連するonChangeイベントを持っている場合のみ重要です。
関連
_IEFormElementCheckBoxSelect, _IEFormElementRadioSelect, _IEFormElementGetValue, _IEFormElementSetValue
例
; *******************************************************
; 例 1 - フォームのサンプルをブラウザで開き、フォームへの参照を取得
; 選択要素への参照を取得。値、テキスト、インデックスで10回オプション選択をおこなう
; ノート:変更を確認するにはページをスクロールダウンする必要があるかもしれない
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("form")
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oSelect = _IEFormElementGetObjByName ($oForm, "selectExample")
For $i = 1 To 10
_IEFormElementOptionSelect ($oSelect, "Freepage", 1, "byText")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, "midipage.html", 1, "byValue")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, 0, 1, "byIndex")
Sleep(1000)
Next
; *******************************************************
; 例 2 - フォームのサンプルをブラウザで開き、フォームへの参照を取得
; 複数要素の選択への参照を取得。値、テキスト、インデックスで5回オプション選択/選択解除をおこなう
; ノート:変更を確認するにはページをスクロールダウンする必要があるかもしれない
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("form")
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oSelect = _IEFormElementGetObjByName ($oForm, "multipleSelectExample")
For $i = 1 To 5
_IEFormElementOptionSelect ($oSelect, "Carlos", 1, "byText")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, "Name2", 1, "byValue")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, 5, 1, "byIndex")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, "Carlos", 0, "byText")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, "Name2", 0, "byValue")
Sleep(1000)
_IEFormElementOptionSelect ($oSelect, 5, 0, "byIndex")
Sleep(1000)
Next
; *******************************************************
; 例 3 - フォームのサンプルをブラウザで開き、フォームへの参照を取得
; 選択要素への参照を取得。"Freepage"オプションが選択されているかどうかを調べ、結果を報告。
; 同じ処理をインデックス0のオプション、valueが'midipage.html'のオプションに対しても繰り返す
; ノート:変更を確認するにはページをスクロールダウンする必要があるかもしれない
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("form")
$oForm = _IEFormGetObjByName ($oIE, "ExampleForm")
$oSelect = _IEFormElementGetObjByName ($oForm, "selectExample")
If _IEFormElementOptionSelect ($oSelect, "Freepage", -1, "byText") Then
MsgBox(0, "Option Selected", "Option Freepage is selected")
Else
MsgBox(0, "Option Selected", "Option Freepage is Not selected")
EndIf
If _IEFormElementOptionSelect ($oSelect, 0, -1, "byIndex") Then
MsgBox(0, "Option Selected", "The First (index 0) option is selected")
Else
MsgBox(0, "Option Selected", "The First (index 0) option is Not selected")
EndIf
If _IEFormElementOptionSelect ($oSelect, "midipage.html", -1, "byValue") Then
MsgBox(0, "Option Selected", "The option with value 'midipage.html' is selected")
Else
MsgBox(0, "Option Selected", "The option with value 'midipage.html' is NOT selected")
EndIf