指定したアプリケーションにキーボードのキー操作を送信してくれるフリーソフト「sendkeys」を紹介。
「sendkeys」を使えばキーボードからの一連の操作を自動で行う事ができる。
今回は、「Sendkeys」を使ったちょっとした例をもとに「Sendkeys」の使い方を覚え書き。
Sendkeysを使う事になったきっかけ
「sendkeys」を使うことになったもともとのきっかけは、メモ帳を起動してメモ帳にローマ字入力させて漢字変換した結果を表示させて正しく変換されているかチェックしなきゃならないっていう作業があったから。
変換結果を確認する単語の数が多くて、いちいち手入力でやるの面倒だなーと思って、何か自動でやってくれるソフトないかなって探してた時に見つけた。
今回Sendkeysにやらせること
今回Sendkeysに自動でやらせる操作は、メモ帳を起動する > IME(漢字変換)をONにする > ローマ字入力する > 漢字変換するっていう一連の作業。
チェック対象となる単語が10種類ぐらいあって、それを100台近いクライアント端末それぞれで確認しなきゃならないので「Sendkeys」を使って、入力、変換の手間を省く。
変換結果のチェックも自動化したかったけど、そこまで作る時間がなかったのでとりあえず入力、変換までやってくれるバッチファイルを作ったので覚書。
Sendkeysの入手方法
Sendkeysは、Vectorからダウンロードできます。
インストールの必要はなく、DOSコマンドプロンプトからsendkeys.exeに引数を指定して実行すればよいだけ。
使い方は簡単だし、readme.txtに詳しい使用方法が書いてある。
Sendkeysの使い方
sendkeysの使い方としては、第一引数にキー送信を行うアプリケーションを指定、第二引数に送信したいキー操作を指定するだけ。
簡単な例として、新規に起動したメモ帳に"TEST"と入力して改行するキーボード操作を実行する場合は、こんな感じ。
sendkeys.exe "無題 - メモ帳" Test[ENTER]
第一引数にキー操作を送信したいアプリケーションのタイトルバーの文字列を指定するんだけど、キー送信先のアプリケーションの指定方法は複数あって、今アクティブなアプリケーションを指定する"/active"なんてオプションもある。
指定方法の詳細は、readme.txtに記載されているので省略。
やりたかったこととしては、バッチファイルを実行したらメモ帳を起動してそのメモ帳でIME(漢字変換)をONにしてローマ字入力、漢字変換ていう操作を複数自動で実行するっていうことだったんだけど、その際のバッチファイルの中身を以下に記載します。
Sendkeysを使ったキーボート操作を自動で行うバッチファイルの例
実際の文字列は掲載できないので、わかりやすいように郵便番号を入力して住所に変換するっていうサンプルにしました。
メモ帳を起動して、起動したメモ帳のIME(漢字変換)をONにして5つの郵便番号を入力して住所に変換された結果がメモ帳に表示されるというサンプルです。
start c:¥windows¥notepad.exe
TIMEOUT /T 3
sendkeys.exe "無題 - メモ帳" [IME]
sendkeys.exe "無題 - メモ帳" 156-0044
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
sendkeys.exe "無題 - メモ帳" 151-0064
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
sendkeys.exe "無題 - メモ帳" 107-0052
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
sendkeys.exe "無題 - メモ帳" 146-0082
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
sendkeys.exe "無題 - メモ帳" 160-0005
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
補足説明
郵便番号をキー送信した後の[#13]は漢字変換させるためのスペースキー入力の送信、[ENTER]は変換を確定するための[Enter]キーの送信を示しています。
実行結果
上記バッチファイルをダブルクリックして実行するとメモ帳が起動して、メモ帳に各郵便番号が住所に変換されて以下のような結果になると思います。
東京都世田谷区赤堤 東京都渋谷区上原 東京都港区赤坂 東京都大田区池上 東京都新宿区愛住町
ちなみに日本語のローマ字入力を漢字変換させる場合は、送信するキーはローマ字入力を指定してください。
例えば、こんな感じです。
sendkeys.exe "無題 - メモ帳" yamada
sendkeys.exe "無題 - メモ帳" [#32][ENTER][ENTER]
使う機会のある方はあまりいないかとは思いますが、私は年に2、3回このような作業があるのでとても重宝しています。
コメント