Function Reference

_IEFormElementOptionSelect

指定されたフォーム要素の値を設定します。

#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