KMmacro Q&A集



 これまで、掲示板やメールでいただいた質問の中から、よくある疑問や、間違いやすそうなところをQ&Aにまとめてみました。マクロの組み方の参考にしてください。
 なお、このQ&Aで例として取り上げているマクロの中には全角スペースを使っているものがありますが、それは表示が崩れないよう、あえて全角にしているものです。実際にマクロとして使う場合は、半角スペースに直してください。

■ 基本的な使い方
 ◇ マウスのドラッグをしたい
 ◇ マクロの実行を止めたい
 ◇ delay コマンドで大きな数字を指定したら、ESC を押しても終了しなくなった
 ◇ 常駐モードへの入り方がわからない
 ◇ 常駐モードの終了のしかたは?
 ◇ 乱数を使いたい
 ◇ Shift キーではなく、右 Shift キーを押したい
 ◇ 現在アクティブになっているボタンを押したい
 ◇ 現在マウスカーソルがある座標をクリックしたい
 ◇ 「別のウィンドウが開くのを待つ」などの、時間待ちをしたい
 ◇ ユーザーからの入力によって処理を変えたい
 ◇ アクティブなウィンドウの種類によって、処理を変えたい
 ◇ 登録されたマクロの削除方法は?

■ 少し工夫した使い方
 ◇ 長い時間がかかるマクロの途中で、どの程度まで処理が進んでいるか知りたい
 ◇ LCLick の座標を、変数で指定したい
 ◇ ウィンドウ内の相対座標をクリックしたい
 ◇ GetMouse 関数の返値の使い方
 ◇ マクロ実行中にクリックした位置を記憶させて、次回のマクロ実行時に、マウスカーソルをその位置へ動かしたい
 ◇ 特定のウィンドウタイトルを持つウィンドウををアクティブにしたい
 ◇ 目標のウィンドウが出るのを待って、処理を続けたい
 ◇ 目標の画面になるのを待って、処理を続けたい
 ◇ 画面にボタンが出てくるのを待って、そのボタンをクリックしたい
 ◇ GOTO、CALL のジャンプ先を変数で指定するには
 ◇ Excel から KMmacro のマクロを呼び出したい
 ◇ フォルダにあるファイルを一度にコピーしたい
 ◇ message コマンド・関数のテキストに改行を入れたい
 ◇ 常駐モードで、ジョイスティック1とジョイスティック2に、違うマクロ機能を割り当てたい
 ◇ 常駐モードで、ジョイスティックのボタン5以降にマクロを割り当てたい

■ マクロがうまく動かない場合
 ◇ GetPixel 関数で色を取得できない
 ◇ 「LCLick 100 , 200」がうまく動かない。
 ◇ 「LCLick 100,200」がうまく動かない。
 ◇ FOR 文の「FOR %1 = 1 TO 100」がうまく動かない。
 ◇ 「LClick (getmouce) 」がうまく動かない
 ◇ FOR ループでエラーになる
 ◇ 繰り返し処理の途中で GOTO を使いたい
 ◇ IF 文でエラーになる
 ◇ 間違えて KMrec を起動してしまったが、現在の KMmacro.mac を上書きしたくない
 ◇ ペースト動作がうまくいかないことがある
 ◇ コメント部分「; 〜」が、コマンドとして認識されてしまう
 ◇ CALL したマクロが、一回余分に実行されてしまう
 ◇ (+ )(- ) 関数を使っても、変数の値が変わらない
 ◇ %joybuttonex でジョイスティックのボタンの一部を読み取れない
 ◇ ゲームソフトで、LClick などが効かない