WinAutopilot 説明書 [マクロ作成のヒント]

WinAutopilot 説明書 》 マクロ作成のヒント

マクロ作成のコツ

実際に「WinAutopilot」を使っているとき「こんなときはこうやった」ってメモです。
マクロを作成するときの参考にして下さい。
たまにヒントは増えるかもしれません。 (最終更新日:2011/04/10
例は、TFマクロコマンドにて記述していますがTFマクロエディタで全て設定できます。

Windowsのショートカットが分かるとマクロは格段に簡素化されまた確実に動くようになります。
Google検索で「Windows ショートカットキー」で検索するといくつかヒットすると思います。
検索したショートカットキーは「バーチャルキーコード」に置き換えてキー入力マクロに記述して下さい。

マシンのレスポンスが遅くなっているときはマクロが失敗する場合が多いです。
何か重い処理を行っているときは、その処理が終わるまで待って再処理するか、多めのウェイト等を入れマクロ実行に余裕を持たせる必要があります。

メニューのショートカット選択

メニューの最初のプルダウンは、「ALTキー」+「ショートカットキー」で選択できます。
さらに、プルダウンしたメニューから項目を選択するには、そのメニュー項目のショートカット文字も一緒に1つのキー入力マクロに設定します。
(MENU = ALTキーです)

例:(一般的なファイル保存)

KEYIN:MENU F S

上記の例を

KEYIN:MENU F
KEYIN:S

と指定しても動きますが、アプリケーションによっては、2行目のSキーの入力が正しく処理できないものもあるようです。
このあたりは色々試してうまく処理できる方法を探してみて下さい。

メニュー項目がサブメニューの場合、そのサブメニューの項目も一度に設定できます。

例:

KEYIN:MENU W R 0

ダイアログのタブコントロールが上手く選択できない

タブはローカルのマウスクリックで選択します。
ただ、ダイアログが表示までにタイムラグがあると、表示されるまえにクリックされ、正しくいかない場合があります。
ダイアログ表示と、マウスクリックのマクロの間に、200ミリ秒程度のウェイトを入れてみて下さい。

例:

KEYIN:MENU O C
WAIT:200
MOUSE:72,42,L,LOCAL

もしくは

KEYIN:MENU O C
FOCUS:"Hoge*"
MOUSE:72,42,L,LOCAL

このように表示するダイアログのフォーカス(Hoge*)を待っても良いと思います。
(例ではダイアログ名は「Hoge」を含む)
もしくは付属のプラグインを利用しても解決できます。

リストコンボの選択

目的のリストコンボを、キー入力マクロで「TABキー」を繰り返すか、マウス処理マクロのローカル位置マウスククリックで選択しフォーカスさせます。(例ではTAB2回)
次に「HOMEキー」のキー入力マクロでリストコンボの一番上を選択状態にします。
次に目的のリストまでキー入力マクロで「↓キー」を繰り返します。(例では8回)

リストボックスもほぼ同等のマクロで処理できます。

例:

KEYIN:MENU TAB,REP=2
KEYIN:HOME
KEYIN:DOWN,REP=8
KEYIN:RETURN

コンボボックスの選択は付属のプラグインを利用しても解決できます。

フォーカスマクロ後の処理がうまくいかない

ターゲットへのフォーカスが完了直後、キー入力やマウス操作マクロが正しく処理されないことがあります。
これは、対象プログラムのウィンドウがフォーカス後に、ウィンドウの準備をするのに時間がかかる場合に起こります。
フォーマスマクロの後に、準備にかかる時間(200ミリ秒程度)分のウェイトを入れてみて下さい。

例:

FOCUS:"Hogehoge*"
WAIT:200
MOUSE:72,42,L,LOCAL

プログラムランチ後の処理がうまくいかない

プログラムによっては、起動後入力を受け付ける状態になっていても実際にはキー処理などを受け付けない場合があります。
この場合、少し長め(1秒程度)のウェイトを入れてみて下さい。
Windowsの「Explorer」等は特に起動直後の反応が悪いようです。

例:

LAUNCH:"explorer",WAIT
WAIT:1000
KEYIN:MENU T O

文字列をシフト+→(↓)で選択するには

目的の場所までキー入力マクロやマウス操作マクロで移動します。
キー入力マクロで「SHIFTキー」と「矢印キー」を選択し、文字数や行数分だけ繰り返しを指定します。

例:(10文字分選択)

SHIFT RIGHT,REP=10

目的の場所がマウス移動マクロで確定できれば、その位置の文字列をダブルクリックで選択状態にすることも出来ます。

例:

MOUSE:100,20,LW,LOCAL

ドラッグ&ドロップを行うには

2段階の操作が必要で、先にドラッグ開始位置までマウス操作マクロで移動し、その後、同マクロで「現在位置からドラッグ&ドロップ」を指定します。
この操作で、画像ツール等のマーキー(矩形選択)も処理できます。

例:

MOUSE:230,100,LOCAL
MOUSE:565,457,DD,LOCAL