■ UI自動化について考える
- ウィンドウハンドルについて
- アプリケーションのUIを分析する(Inspectツール)
- UIAutomationでUI操作してみる
- UIAutomationをWinActorに組み込む ←今ここ
前回作ったUIAutomationのモジュールをWinActorスクリプト実行ステージに組み込んでみる。
これで、Inspectツールで検査したUI要素をそのまま操作できる・・・ハズ。
まず、前回作った「UIA_cmd.exe」を、WinActor.exeと同じフォルダに配置する。
1.スクリプト実行ステージのスクリプトはこんな感じ。
hwnd = GetUMSWindowHandle(@ウィンドウ識別名@)
prop = !プロパティ|AutomationID,Name!
keyVal = !プロパティの値!
func = !操作の内容|Click,Focus,GetValue,SetValue,GetSelection,GetSelectionItemIsSelected,SetSelectionItemValue,GetToggle,SetToggle,GetName!
sval = !設定値!
optn = !オプション|,Next,Previous,FirstChild,LastChild!
uia = "UIA_cmd.exe "
If IsNull(hwnd) Then
Err.Raise 1, "", "ウィンドウハンドルを取得できませんでした。"
Else
If Len(optn) > 0 Then prop = prop & ":" & optn
Set objExecCmd = CreateObject("WScript.Shell").Exec(uia & func & " """ & hwnd & """ """ & prop & ":" & keyVal & """ " & sval)
Do While objExecCmd.Status = 0
WScript.Sleep(500)
Loop
SetUMSVariable $取得結果$ , objExecCmd.StdOut.ReadAll
End If
2.設定画面はこんな感じ。
注釈にはこれくらいコメント付けておこう。。。
「設定値」は操作の内容でSetValueを選択した時以外は値⇒で空白にしておいて下さい。
ちゃんと動いたし・・・いい感じじゃね???
