CLKITEM

p>指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。

構文
  1. Boolean = CLKITEM( ID, アイテム名, [種別, On/Off, 番号] )
引数
ID
Windowを識別するID
アイテム名
ボタン、チェックボックス、ラジオボタンのキャプションの文字 もしくは リストボックス、コンボボックスの選択名 もしくは タブ名 もしくは メニュー項目名 もしくは ツリービュー項目、リストビュー項目 もしくは ツールバー上のボタン名
種別
チェックするアイテム種別
CLK_BTN
ボタン、チェックボックス、ラジオボタン
CLK_LIST
リストボックス、コンボボックス
CLK_TAB
タブコントロール
CLK_MENU
メニュー
CLK_TREEVIEW
ツリービュー (CLK_TREEVEWでも可)
CLK_LISTVIEW
リストビュー (CLK_LSTVEWでも可)
CLK_TOOLBAR
ツールバー
CLK_LINK
リンク
CLK_ACC
アクセシビリティ用インターフェースを利用したクリック
追加オプション
CLK_SHORT
文字省略指定: 部分一致にて検索 (例:CLK_LIST or CLK_SHORT)
CLK_BACK
バックグランド実行: ウィンドウをアクティブ化しません
CLK_MUSMOVE
マウス移動: マウスをその場所に移動(CLK_MOUSEMOVE でも可)
CLK_RIGHTCLK
右クリック: アイテムにより右クリックの動作
CLK_LEFTCLK
左クリック: アイテムにより左クリックの動作
CLK_DBLCLK
ダブルクリック:2段目のクリック動作(1段目としてCLK_LEFTCLK が必要)
CLK_FROMLAST
後ろからサーチ: CLK_ACC 指定時にアイテムを後ろからサーチ
CLK_API
API インターフェースのみを使用
CLK_UIA
UI Automation インターフェースのみを使用
On/Off
チェックボックス, メニューでのチェック、およびクリック動作 True=On、False=Off(デフォルトはOn)
番号
同名のアイテム名がある場合のオブジェクト順番 (左上から数えたオブジェクト順番[1から指定])
戻値

TRUE:正常、 FALSE:処理不能

アイテム名の最後に付く ニーモニック[(&A)、(&B)...、(&C):等]は要りません

種別:省略時は BTN ->LIST ->TAB ->MENU ->TREEVEW ->LSTVEW ->TOOLBAR ->LINK の順でサーチ

インターフェース指定が無い場合は API ->UIA ->ACC の順でサーチ

メニュー, ツリービュー, スプリットボタン: \ にてパス指定表記可
(例:\TOP\TEMP\FILE )ぶつかる物がなければパス指定は不要

リストボックス: 複数選択の場合は タブにて アイテム名を繋げる

Internet Explorer

前回のブラウズ セッションは予期せずに終了しました。

DIM ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “セッションの復元”, CLK_BTN)

アドオンを無効にすることで、閲覧の速度を上げます。

ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “アドオンの選択”, CLK_BTN)

***は応答してません。

ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “Web ページの回復”, CLK_BTN)

セキュリティで保護されているコンテンツのみ表示されます。

DIM ID = GETID(“Internet Explorer”, “IEFrame”)
CLKITEM(ID, “すべてのコンテンツを表示”, CLK_BTN)

Internet Explorer は応答していません。

このページから移動しますか?

DIM ID = GETID(“Windows Internet Explorer”, “#32770”)
CLKITEM(ID, “このページから移動”, CLK_BTN)
CLKITEM(ID, “ページに留まる”, CLK_BTN)

***のダウンロードが完了しました。

DIM ID = GETID(“Vector:UWSC (Windows10/8/7/Vista/XP/2000/NT / ユーティリティ) – Internet Explorer”, “IEFrame”)
CLKITEM(ID, “フォルダーを開く”, CLK_BTN)
CLKITEM(ID, “ダウンロードの表示”, CLK_BTN)
CLKITEM(ID, “閉じる”, CLK_BTN)

***で行う操作を選んでください。

DIM ID = GETID(“Internet Explorer”, “#32770”)
CLKITEM(ID, “開く”, CLK_BTN)
CLKITEM(ID, “保存”, CLK_BTN)
CLKITEM(ID, “名前を付けて保存”, CLK_BTN)
CLKITEM(ID, “キャンセル”, CLK_BTN)

CLKITEM記述例

以下のプログラムは、CLKITEMで操作することができるすべての項目を記載しています。そのため実行するときは必要な箇所のみ抽出してご利用ください。メモ帳で「ファイル→新規」をクリックさせたい場合以下のようになります。

DIM ID = GETID(“メモ帳”, “Notepad”)
CLKITEM(ID, “ファイル\開く”, CLK_MENU)

また、各1行目にある「DIM ID = GETID(〜)」の部分は開いているファイルによってタイトルが変わることがありますので各自書き換えてください。例えば、メモ帳の場合は「(ファイル名) – メモ帳」というタイトルになるので(ファイル名)の部分に操作したいファイル名を入力してください。

メモ帳

メモ帳
DIM ID = GETID(“無題 – メモ帳”, “Notepad”)

// [CLK_BTN]
CLKITEM(ID, “1 行上”, CLK_BTN)
CLKITEM(ID, “1 行下”, CLK_BTN)
CLKITEM(ID, “最小化”, CLK_BTN)
CLKITEM(ID, “最大化”, CLK_BTN)
CLKITEM(ID, “閉じる”, CLK_BTN)

// [CLK_LIST]

// [CLK_MENU]
CLKITEM(ID, “ファイル\新規”, CLK_MENU)
CLKITEM(ID, “ファイル\新しいウィンドウ”, CLK_MENU)
CLKITEM(ID, “ファイル\開く”, CLK_MENU)
CLKITEM(ID, “ファイル\上書き保存”, CLK_MENU)
CLKITEM(ID, “ファイル\名前を付けて保存”, CLK_MENU)
CLKITEM(ID, “ファイル\ページ設定”, CLK_MENU)
CLKITEM(ID, “ファイル\印刷”, CLK_MENU)
CLKITEM(ID, “ファイル\メモ帳の終了”, CLK_MENU)
CLKITEM(ID, “編集\元に戻す”, CLK_MENU)
CLKITEM(ID, “編集\切り取り”, CLK_MENU)
CLKITEM(ID, “編集\コピー”, CLK_MENU)
CLKITEM(ID, “編集\貼り付け”, CLK_MENU)
CLKITEM(ID, “編集\削除”, CLK_MENU)
CLKITEM(ID, “編集\Bing で検索”, CLK_MENU)
CLKITEM(ID, “編集\検索”, CLK_MENU)
CLKITEM(ID, “編集\次を検索”, CLK_MENU)
CLKITEM(ID, “編集\前を検索”, CLK_MENU)
CLKITEM(ID, “編集\置換”, CLK_MENU)
CLKITEM(ID, “編集\行へ移動”, CLK_MENU)
CLKITEM(ID, “編集\すべて選択”, CLK_MENU)
CLKITEM(ID, “編集\日付と時刻”, CLK_MENU)
CLKITEM(ID, “書式\右端で折り返す”, CLK_MENU)
CLKITEM(ID, “書式\フォント”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\拡大”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\縮小”, CLK_MENU)
CLKITEM(ID, “表示\ズーム\既定の倍率に戻す”, CLK_MENU)
CLKITEM(ID, “表示\ステータス バー”, CLK_MENU)
CLKITEM(ID, “ヘルプ\ヘルプの表示”, CLK_MENU)
CLKITEM(ID, “ヘルプ\フィードバックの送信”, CLK_MENU)
CLKITEM(ID, “ヘルプ\バージョン情報”, CLK_MENU)

// [CLK_LISTVIEW]

// [CLK_TOOLBAR]
CLKITEM(ID, “ファイル”, CLK_TOOLBAR)
CLKITEM(ID, “編集”, CLK_TOOLBAR)
CLKITEM(ID, “書式”, CLK_TOOLBAR)
CLKITEM(ID, “表示”, CLK_TOOLBAR)
CLKITEM(ID, “ヘルプ”, CLK_TOOLBAR)

// [CLK_LINK]

ファイル名を指定して実行

ファイル名を指定して実行
DIM ID = GETID(“ファイル名を指定して実行”, “#32770”)

// [CLK_BTN]
CLKITEM(ID, “OK”, CLK_BTN)
CLKITEM(ID, “キャンセル”, CLK_BTN)
CLKITEM(ID, “参照”, CLK_BTN)

// [CLK_LIST]
CLKITEM(ID, “mspaint”, CLK_LIST)
CLKITEM(ID, “winword”, CLK_LIST)
CLKITEM(ID, “regedit”, CLK_LIST)
CLKITEM(ID, “cmd”, CLK_LIST)
CLKITEM(ID, “shutdown /r /t 0”, CLK_LIST)
CLKITEM(ID, “notepad”, CLK_LIST)

// [CLK_MENU]

// [CLK_LISTVIEW]

// [CLK_TOOLBAR]

// [CLK_LINK]

プログラム実行例

ファイル名を指定して実行で「ごみ箱」を開く

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.FileRun

DIM ID = GETID("ファイル名を指定して実行", "#32770")
SENDSTR(ID, "shell:RecycleBinFolder")
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.FileRun
  3. GETID
  4. SENDSTR
  5. CLKITEM
解説
  1. 1行目
    DIM Shell = CREATEOLEOBJ("Shell.Application")
    
    Shellオブジェクトを生成する。
  2. 2行目
    Shell.FileRun
    
    「ファイル名を指定して実行」ウィンドウを開く。
  3. 4行目
    DIM ID = GETID("ファイル名を指定して実行", "#32770")
    
    「ファイル名を指定して実行」のIDを取得。「#32770」はダイアログのクラス名を示しています。
  4. 5行目
    SENDSTR(ID, "shell:RecycleBinFolder")
    
    「shell:RecycleBinFolder」と入力する。
  5. 6行目
    CLKITEM(ID, "OK", ITM_BTN)
    
    「OK」ボタンをクリックする。

電卓を操作し計算した結果を取得

EXEC("calc")
DIM ID = GETID("電卓")

DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"

FOR item IN array
	CLKITEM(ID, item, ITM_BTN)
NEXT

FOR item IN GETITEM(ID, ITM_STATIC)
	IFB POS("表示は ", item) AND POS(" です", item) THEN
		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
	ENDIF
NEXT

CTRLWIN(ID, CLOSE)
  1. EXEC
  2. GETID
  3. CLKITEM
  4. GETITEM
  5. POS
  6. VAL
  7. REPLACE
  8. CTRLWIN
結果
18.4
解説
  1. 1行目
    EXEC("calc")
    
    電卓を起動。
  2. 2行目
    DIM ID = GETID("電卓")
    
    IDを取得。
  3. 4行目
    DIM array[] = "1", "5", "小数点", "4", "プラス", "3", "等号"
    
    入力するアイテム名の配列。
  4. 6-8行目
    FOR item IN array
    	CLKITEM(ID, item, ITM_BTN)
    NEXT
    
    配列に格納されているアイテムを順に実行。
  5. 10-14行目
    FOR item IN GETITEM(ID, ITM_STATIC)
    	IFB POS("表示は ", item) AND POS(" です", item) THEN
    		PRINT VAL(REPLACE(REPLACE(item,"表示は ", ""), " です", ""))
    	ENDIF
    NEXT
    
    計算結果はGETITEM関数で取得すると「表示は 〇〇 です」の形式なので、「表示は 」と「 です」が含まれるアイテムを取得し、余計な文字列を削除。
  6. 16行目
    CTRLWIN(ID, CLOSE)
    電卓を閉じる。

ユーザーの切り替え

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "ユーザーの切り替え", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM

サインアウト

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "サインアウト", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM

スリープ

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "スリープ", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM

シャットダウン

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "シャットダウン", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM

再起動

DIM Shell = CREATEOLEOBJ("Shell.Application")
Shell.ShutdownWindows()

DIM ID = GETID("Windows のシャットダウン", "#32770")
CLKITEM(ID, "再起動", ITM_LIST)
CLKITEM(ID, "OK", ITM_BTN)
  1. CREATEOLEOBJ
  2. Shell.ShutdownWindows
  3. GETID
  4. CLKITEM

メモ帳の書式を開き、現在設定されているフォント名・スタイル・サイズ・文字セットを取得

DIM ID = EXEC("notepad")
CLKITEM(ID, "書式\フォント")
DIM ID2 = GETID("フォント")

DIM i = 1
DIM cnt = 0
REPEAT
	DIM str = GETSLCTLST(ID2, i)
	IFB LENGTH(str) <> 0 THEN
		PRINT i + ":" + str
		cnt = 0
	ELSE
		cnt = cnt + 1
	ENDIF
	i = i + 1
UNTIL cnt >= 10

CTRLWIN(ID2, CLOSE2)
CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. CLKITEM
  3. GETID
  4. GETSLCTLST
  5. LENGTH
  6. CTRLWIN
結果
1:HGS明朝B
2:ボールド
3:12
4:日本語
解説
  1. 1行目
    DIM ID = EXEC("notepad")
    
    メモ帳を開き、IDを取得する。
  2. 2行目
    CLKITEM(ID, "書式\フォント")
    
    [書式]→[フォント]を開く。
  3. 3行目
    DIM ID2 = GETID("フォント")
    
    [フォント]のIDを取得する。
  4. 8行目
    	DIM str = GETSLCTLST(ID2, i)
    
    i番目のセレクトボックスの項目を取得。
  5. 9-14行目
    	IFB LENGTH(str) <> 0 THEN
    		PRINT i + ":" + str
    		cnt = 0
    	ELSE
    		cnt = cnt + 1
    	ENDIF
    
    変数strが0文字でなければ変数strを出力し、変数cntをリセット。0文字ならば変数cntを+1する。
  6. 15行目
    	i = i + 1
    
    変数iを+1する。
  7. 16行目
    UNTIL cnt >= 10
    
    GETSLCTLSTでアイテム数を取得できないので、アイテムを10回連続取得できなかったら終了させる。
  8. 18行目
    CTRLWIN(ID2, CLOSE2)
    
    [フォント]を閉じる。
  9. 19行目
    CTRLWIN(ID, CLOSE2)
    [メモ帳]を閉じる。

ペイントで設定できるズーム倍率を取得

DIM ID = EXEC("mspaint")

SETSLIDER(ID, 0, 0)
PRINT GETSTR(ID, 2, STR_STATIC)

REPEAT
	CLKITEM(ID, "拡大", CLK_BTN)
	PRINT GETSTR(ID, 2, STR_STATIC)
UNTIL GETSLIDER(ID, 0, SLD_POS) = 100

CTRLWIN(ID, CLOSE2)
  1. EXEC
  2. SETSLIDER
  3. GETSTR
  4. CLKITEM
  5. GETSLIDER
  6. CTRLWIN
結果
12.50%
25%
50%
100%
200%
300%
400%
500%
600%
700%
800%