◇ 目標のウィンドウが出るのを待って、処理を続けたい
Q:マクロ実行の途中で、特定のウィンドウを出るのを待ってから、処理を続けるにはどうすればいいですか。
A:いくつか方法があります。
(1) 一番簡単で確実なのは、人間の目で確認する方法です
:
(message "目標のウィンドウが出たら、スペースキーを押してください") ; メッセージを出す
pause [SPACE] ; スペースキーが押されるまで実行停止
:
(2) 前の回答にもありますが、目標のウィンドウのタイトルが決まっている場合は、それを手がかりにする方法もあります。
:
:LOOP
delay 1000 : ループ中の時間待ち
GetTitle ; アクティブウィンドウのタイトルを変数 %0 に取得
unless (in "新規登録" %0) GOTO :LOOP ; タイトルの中に「新規登録」という文字が含まれていれば、次の処理に進む。なければ「:LOOP」に戻る。
:
GetTitle で取得するのは「アクティブなウィンドウのタイトル」ですので、目標のウィンドウはアクティブになっている必要があります。
なお、「現在アクティブなウィンドウのタイトル」は、KMrec で記録することができるようになりました(V0.72 で機能追加)ので、マクロ作成の参考にしてください。
このほかに、「画像の比較」「画像の検索」を使う方法もありますが、その説明は次のQで。