windows環境で仕事をするようになって、VBAやらWSHを作る機会が多いのですが、キー入力を送ることでwindowsの操作(と使いにくい社内ツール)を自動化できるsendkeyというのがあります。
でもこれってウインドウを指定できないので、うっかり違うウインドウを立ち上げてしまったり、sleep時間が短くてウインドウの遷移が間に合ってなかった時などが、阿鼻叫喚。
目的と違うアプリウインドウにキーを入力されてしまうことがありました。
でもAutoIt使うとwindowやクリック先のボタン、テキストの入力先を指定できるので安心です。windowがアクティブになるのを待ってからキーストロークを送信することも出来ます。
http://blog.livedoor.jp/blackcode/archives/1133644.html
DLLを使用するだけでも作れますが、インストールして、AutoIt window infoでwindow情報を取得してやると、クリックするボタンを名指しで指定できるので便利です。
もともとこれを探した理由は、とあるアプリのラジオボタンをキーボードで選択する方法がわからなかったからです。Tabを押しても移動できず困っていましたが、AutoItなら何番のボタンなのかをAutoIt window info で調べて指定することで選択することが可能になりました。
秀丸やemacs、エクセルのようにキーボードマクロはあるのですが、どうも単純なsendkeyで記録されてる模様。
これが何とかなると便利なんだけどなぁー
でもこれってウインドウを指定できないので、うっかり違うウインドウを立ち上げてしまったり、sleep時間が短くてウインドウの遷移が間に合ってなかった時などが、阿鼻叫喚。
目的と違うアプリウインドウにキーを入力されてしまうことがありました。
でもAutoIt使うとwindowやクリック先のボタン、テキストの入力先を指定できるので安心です。windowがアクティブになるのを待ってからキーストロークを送信することも出来ます。
http://blog.livedoor.jp/blackcode/archives/1133644.html
DLLを使用するだけでも作れますが、インストールして、AutoIt window infoでwindow情報を取得してやると、クリックするボタンを名指しで指定できるので便利です。
もともとこれを探した理由は、とあるアプリのラジオボタンをキーボードで選択する方法がわからなかったからです。Tabを押しても移動できず困っていましたが、AutoItなら何番のボタンなのかをAutoIt window info で調べて指定することで選択することが可能になりました。
秀丸やemacs、エクセルのようにキーボードマクロはあるのですが、どうも単純なsendkeyで記録されてる模様。
これが何とかなると便利なんだけどなぁー
0 件のコメント:
コメントを投稿