指定したIDのウィンドウのアイテムをクリックします。アイテムに指定できるものにはボタン・チェックボックス・ラジオボタン・リストボックス・コンボボックス・タブコントロール・メニュー・ツリービュー・リストビュー・ツールバー・リンクがあります。
- 構文
- Boolean = CLKITEM( ID, アイテム名, 種別, On/Off, 番号 )
- 引数
- ID (Integer)必須
- Windowを識別するID
- アイテム名 (String)必須
- ボタン、チェックボックス、ラジオボタンのキャプションの文字 もしくは リストボックス、コンボボックスの選択名 もしくは タブ名 もしくは メニュー項目名 もしくは ツリービュー項目、リストビュー項目 もしくは ツールバー上のボタン名
- 種別 (#clkitem = Empty)省略可
- チェックするアイテム種別
- 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 (Boolean = True)省略可
- チェックボックス, メニューでのチェック、およびクリック動作 True=On、False=Off(デフォルトはOn)
- 番号 (Integer = 1)省略可
- 同名のアイテム名がある場合のオブジェクト順番 (左上から数えたオブジェクト順番[1から指定])
- 戻り値
TRUE:正常、 FALSE:処理不能
アイテム名の最後に付くニーモニック[(&A)、(&B)...、(&C):等]は要りません
種別:省略時は BTN ->LIST ->TAB ->MENU ->TREEVEW ->LSTVEW ->TOOLBAR ->LINK の順でサーチ
インターフェース指定が無い場合は API ->UIA ->ACC の順でサーチ
メニュー, ツリービュー, スプリットボタン: \ にてパス指定表記可
(例:\TOP\TEMP\FILE)ぶつかる物がなければパス指定は不要リストボックス: 複数選択の場合は タブにて アイテム名を繋げる
種別
CLK_BTN
種別にCLK_BTNを指定すると、ボタン・チェックボックス・ラジオボタンを操作できます。以下だと[次を検索]、[置換して次に]、[すべて置換]、[キャンセル]がボタン、大文字と小文字を区別する、折り返しありがチェックボックスに当たります。

チェックボックスの場合、第四引数にチェックを入れるかどうかを示すブール値を指定します。チェックを入れる場合はTRUE、外す場合はFALSEを指定します。省略した場合はチェックを入れる操作を行います。
チェックボックスの状態を確認するにはCHKBTN関数を使います。
現在のチェックボックスの状態を反転させるには以下のように記述します。CHKBTN関数で現在のチェックボックスの状態を取得し、その値を反転させたものをCLKITEM関数で設定します。!はCHKBTN関数の結果がTrueならばFalseに、FalseならばTrueに反転します。これでチェック状態を反転させています。
上のプログラムを2行に分けて書くと以下のようになります。boolが現在のチェックボックスの状態、!boolが反転させた値です。
指定したウィンドウのIDにCLK_BTNで操作できるアイテムの個数を取得するには以下のプログラムを実行します。
CLK_LIST
種別にCLK_LISTを指定すると、リストボックス、コンボボックスを操作できます。リストボックスとは以下の画像のように複数の項目から選択できるものを指します。

ファイル名を指定して実行のリストボックスの上から2番目(ALL_ITEM_LISTの値は1)の項目を選択しOKボタンをクリックします。画像のリストの場合、メモ帳(notepad)が起動します。
ファイル名を指定して実行のリストボックスの一番下(ALL_ITEM_LISTの値はcnt-1)の項目を選択しOKボタンをクリックします。画像のリストの場合、システム構成(msconfig)が起動します。
CLK_TAB
Excelを起動し、シートタブから[ワークシートの挿入]を選択します。
サクラエディタで新規ファイルを3つ開き、(無題)2を選択します。
CLK_MENUは挙動がおかしかったので代わりにCLK_ACCを指定します。
サクラエディタで新規ファイルを3つ開き、2番目の(ALL_ITEM_LISTの値は1)項目を選択します。
CLK_MENU
メモ帳を起動し、メニューから[ヘルプ]-[バージョン情報]を選択・表示します。
CLK_TREEVIEW
ExcelのVisual Basic Editorを起動し、プロジェクトのツリービューからThisWorkbookを選択します。
ツリービューにThisWorkbookは一つしかないので、一部分でもマッチします。
CLK_TOOLBAR
メモ帳を起動し、ツールバーのヘルプを選択します。
- 結果
種別(追加オプション)
追加オプションは種別との組み合わせで使い、種別 OR 追加オプションの形式で記述します。
以下はファイル名を指定して実行を起動し、OKボタンにカーソルを移動させるプログラムです。第三引数のCLK_BTNにオプションとしてCLK_MUSMOVEを追加することでボタンにカーソルを移動させる処理を行うことができます。ボタンはデフォルトでクリックされてしまうので、第四引数にFALSEを指定することでクリックさせずにカーソルを移動させるだけの処理を行えます。TRUEを指定するとカーソルを移動させた上でボタンをクリックできます。

以下はファイル名を指定して実行を起動し、リストボックスの中からnoteに部分一致する項目を選択し、OKボタンをクリックします。「note」は「notepad」を想定しています。ファイル名を指定して実行で履歴にnotepadがない場合はキャンセルして終了します。
追加オプションが複数ある場合は、ORに続けて追加します。

ニーモニックは付けても付けなくてもマッチします。
On/Off
チェックボックスにチェックを入れる場合はTrue、チェックを外す場合はFalseを指定します。

アイテム名の取得
アクティブウィンドウのCLKITEM関数で操作できる要素を取得します。結果は実行したUWSファイルと同じディレクトリのCLKITEM.logに出力されます。
取得例
以下のプログラムは、CLKITEMで操作することができるすべての項目を記載しています。そのため実行するときは必要な箇所のみ抽出してご利用ください。メモ帳で[ファイル]-[新規]をクリックさせたい場合以下のようになります。
また、各1行目にある「DIM ID = GETID(〜)」の部分は開いているファイルによってタイトルが変わることがありますので各自書き換えてください。例えば、メモ帳の場合は「(ファイル名) - メモ帳」というタイトルになるので(ファイル名)の部分に操作したいファイル名を入力してください。
メモ帳

"]
ペイント
UWSC Pro
UWSC Debugger
ファイル名を指定して実行

"]
使い方
リストビューの選択
アクティブウィンドウにあるすべてのリストビュー(曲)を上から順番に選択していきます。Alarm01.wav、Alarm02.wav、Alarm03.wav、…と選択されます。

ツリービューの選択

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

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

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

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

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

Internet Explorer 11は2022年6月15日に廃止されます。Microsoft Edgeに切り替えて、より高速で安全な閲覧エクスペリエンスを実現します。

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

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

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

[名前を付けて保存]ダイアログボックス
例えば「PC\ドキュメント」を開くときは以下のように記述します。CLKITEM関数では項目が選択されるだけで開かれないのでEnterキーで開きます。
Excel
パスワードつきのブックを開いたときの入力ボックス
プログラム実行例
ファイル名を指定して実行で「ごみ箱」を開く
電卓を操作し計算をする
電卓を操作します。
メモ帳に本文を入力し[名前を付けて保存]ダイアログボックスを開いて保存する
電卓を操作し計算した結果を取得
ユーザーの切り替え
サインアウト
スリープ
シャットダウン
再起動
ファイルを開いているプロセスを調べる
ペイントで設定できるズーム倍率を取得
CLKITEMで操作できる項目を取得
関連記事
- GETITEM関数 (スクリプト関数)
- キャプション文字やリスト等をすべて取得します。
- SLCTBOX関数 (スクリプト関数)
- セレクトボックスを表示します。
- CHKBTN関数 (スクリプト関数)
- ボタン類(ボタン、チェックボックス、ラジオボタン)の状態を返します。
- GETCTLHND関数 (スクリプト関数)
- ボタン等、オブジェクトのハンドルを取得します。
- ACW関数 (スクリプト関数)
- ウィンドウの状態を変更、またはアクティブにします。
- CTRLWIN関数 (スクリプト関数)
- ウィンドウの状態を制御します。
- GETSLIDER関数 (スクリプト関数)
- スライダー(トラックバー、スクロールバー)の値を取得します。
- HNDTOID関数 (スクリプト関数)
- ハンドル値をIDに変換します。
- IDTOHND関数 (スクリプト関数)
- IDをハンドル値に変換します。
- GETID関数 (スクリプト関数)
- 指定したウィンドウのIDを取得します。第一引数に取得したいウィンドウのタイトル(一部でも可)を指定します。
