指定したアプリケーションにキーボードのキー操作を送信してくれるフリーソフト「sendkeys」を紹介。

「sendkeys」を使うことになったもともとのきっかけは、メモ帳を起動してメモ帳にローマ字入力させて漢字変換した結果を表示させて正しく変換されているかチェックしなきゃならないっていう作業をするときがあって、入力して変換結果を確認する文字列(単語)の数が多くて、いちいち手入力でやるの面倒だなーと思って、何か自動でやってくれるソフトないかなって探してた時に見つけた。

メモ帳を起動する > IME(漢字変換)をONにする > ローマ字入力する > 漢字変換するっていう一連の作業を自動でやらせたかった。
なにせチェック対象となる単語が10種類ぐらいあって、それを100台近いクライアント端末それぞれで確認しなきゃならなかったから、どうしても入力、変換の手間を省きたかった。

変換結果のチェックも自動化したかったけど、そこまで作る時間がなかったのでとりあえず入力、変換までやってくれるバッチファイルを作ったので覚書。
スポンサードリンク


Sendkeysは、Vectorからダウンロードできます。

インストールの必要はなく、DOSコマンドプロンプトからsendkeys.exeに引数を指定して実行すればよいだけ。
使い方は簡単だし、readme.txtに詳しい使用方法が書いてある。

sendkeysの使い方としては、第一引数にキー送信を行うアプリケーションを指定、第二引数に送信したいキー操作を指定するだけ。
簡単な例として、新規に起動したメモ帳に"TEST"と入力して改行するキーボード操作を実行する場合は、こんな感じ。
sendkeys.exe "無題 - メモ帳" Test[ENTER]
第一引数にキー操作を送信したいアプリケーションのタイトルバーの文字列を指定するんだけど、キー送信先のアプリケーションの指定方法は複数あって、今アクティブなアプリケーションを指定する"/active"なんてオプションもある。
指定方法の詳細は、readme.txtに記載されているので省略。

やりたかったこととしては、バッチファイルを実行したらメモ帳を起動してそのメモ帳でIME(漢字変換)をONにしてローマ字入力、漢字変換ていう操作を複数自動で実行するっていうことだったんだけど、その際のバッチファイルの中身を以下に記載します。

実際の文字列は掲載できないので、わかりやすいように郵便番号を入力して住所に変換するっていうサンプルにしました。

メモ帳を起動して、起動したメモ帳の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回このような作業があるのでとても重宝しています。
スポンサードリンク

  

関連記事