再生中にマウスレコーダーを表示したくない
再生中はタスクトレイに格納することにより、マウスレコーダー本体を非表示にすることがでいます。
「再生」メニューから設定できます。
再生が途中で停止してしまう
再生中、マウスに手を触れていると途中で停止してしまう場合
手動マウス操作による停止
「
手動マウスによる停止」スイッチがオンになっていると思われます。
本機能は、
本プログラム以外による
マウスポインタ移動の検知した場合に反応します。
手動によるマウスポインタ移動、または、
他アプリによるプログラム的なポインタ移動など
検知不要な場合は、
スイッチをオフにして試してみてください。
下図(手動マウス操作による停止)
プログラム指定
再生回数の指定方法
再生回数の指定方法には、以下のような方法があります。
・メニューリストから選択 - 回数を直接指定
・コマンドラインから(ショートカット) 詳細は右リンク参照
再生回数の指定方法
記録したデータを常に2倍速で実行したい
実行速度を「プログラム固有情報の設定」でプログラム中に
INITコマンドとして埋め込みます。
手順
1.データを記録
2.「記録」メニューの「
プログラム固有情報の設定」をクリック
3.「再生速度」から「2倍」を選択して「OK」をクリック
→記録データの先頭に「INIT」コマンドが追加されます。
以降、常に2倍速で実行されます。(Exe化した場合も同じ)
指定できる設定は 本体位置/トレイ収納/再生速度/再生回数/制限時間/保存用フォルダ/軽エラー続行詳しくは下記を参照
プログラム固有情報の設定
再生終了後にメッセージ表示、または音を鳴らしたい
再生終了後にメッセージを表示するには、以下の二つの方法があります。
1.プログラム固有情報の設定(下記リンク)で「
再生終了MSG表示」に」チェック
これにより、再生終了時に“再生を終了しました”のメッセージが表示されます。
2.プログラミングで追加 記録されたコードの最終行を選択して右クリック→「
行追加 下」をクリック
追加された行をダブルクリックして編集フォームを起動 「event」から、追加したいコマンドを選択
メッセージを表示したい場合:「MsgBox」または「SHOW_MSG」
音を鳴らしたい場合:「Beep」または「Sound」
設定パラメータは、各コマンドの使い方(下記リンク)を参照。
フォームを閉じるとコマンドが追加されます。
これにより、記録されたコードがすべて実行された後に追加したコマンドが実行されます。"
プログラム固有情報の設定
コマンドの使い方
再生時に「ターゲットウィンドウを見失いました」が表示される
「・・ターゲットウィンドウを見失いました・・」のメッセージは、記録時にクリックしたウィンドウが、再生時に見つからない時に発生します。
ウィンドウの検索には、クラス名とタイトル文字を使用していますので、
ウィンドウタイトル文字が変化した場合にも発生します。(たとえば、
タイトルに日時が入っている場合など)
ウィンドウタイトルが変化する場合には、クリック時(LEFT_DOWN)に記録される
タイトル部分を空白にすれば、チェックは行われず、単に指定された座標をクリックします。
記録上からタイトル部分を空白にするには、LEFT_DOWNの行を、編集フォームで変更します。
(最下段の「other2」をクリア)
記録からタイトル部分を空白にする具体的な編集方法
クラス名/タイトル文字のチェックを、
常に行いたくない場合は、「
conf.txt」を下記のように変更。
no chack class title = 0 → no chack class title = 3
指定時刻に実行(再生)したい
指定時刻に実行する方法はいくつかあります。
・Windowsのタスクスケジューラーを利用
・マウスレコーダー単独で行う場合
記録先頭行の「
Time」フィールドに、下記のように
遅延時間をセットします。
15時3分30秒に実行したい場合
(TimeSerial(15,03,30)-val(time()))*24*60*60*1000
意味:実行したい時刻と現在時刻の差を計算
これは日にちを表す数値になので、ミリ秒に変換するため、
24*60*60*1000 を乗算
このミリ秒数だけ、実行が遅延(待機)されます。
マウス/キー/入力操作
マウスクリックで LEFT_DOWN、LEFT_UP と2回ずつ入力するのが面倒
マウス、キー操作を短く記述する為に以下のようなマクロ(命令の組み合わせ)を用意しています。
マウスマクロ: LeftClick,MiddleClick,RightClick(ダブルクリックはそれぞれを2回発行するだけなので省略)
キーマクロ: Tab,Enter,←,↑,→,↓,Copy,Cut,Paste その他のよく使うキーの組み合わせ(回数指定可)
マウスドラッグはどのように記述?
"マウスドラッグは、マウスを押す→移動→マウスを離す の動作なので、
左ドラッグの場合:
LEFT_DOWN 座標1
LEFT_UP 座標2
として、座標1と座標2を別々に指定すれば、座標1から座標2までのドラッグとなります。
文字列中に改行やタブなどの特殊なキーを入力したい
制御キーは名前に
{ }を付けて記述力します。
改行: {CrLf} タブ:{Tab}例:
ABC{CrLf} とすると ABC の後に改行が付加。
各特殊キー名称は右記リンクを参照
特殊キーの入力
座標指定でのクリック
通常版サンプル - ボタン操作 を参考にしてください。
または、同梱のサンプルを参考にしてください。
「マウスレコーダー」の中の「サンプル」「サンプル_エキスパート版用」フォルダ内に在ります。
「samplexxxxx.dat」ファイルを読み込んで実行できます。
TABキーでフォーカスを移動してクリック
基準位置から固定回数
TABキーを押すことにより、
フォーカス(入力を受け付ける状態)位置を移動して、ターゲットを特定することもできます。
具体的な使用例は、
使用例 タブキーによるフォーカス位置移動 を参照
表示文字で検索してボタンをクリック
各方式の利点/欠点
チェックボックスのオン/オフ状態を判定
表示
関数を文字列として表示したい 例:"Int(15/3)"のような文字列
文章の中で下記の関数が記されている場合は自動で計算し、結果が表示されます。
文章中で Int(12+3) のような文字列を表示させたい場合は、 \Int(12+3) のように、関数命の前に「\」を付けます。
同じく、\Int(12+3) と表示させたい場合は、\\Int(12+3) とします。
フィールド文字 08/09 をGetAccValueなどで読み取ると、 1.125 と計算されて表示される
読み取るフィールドの値が、「 09/08 」 の場合、割り算式と認識して、「 1.125 」が表示されます。
(同様に、 「 1+2+3 」をだけを表示しようとすると、計算されて「 6 」が表示)
このような場合、「日付: 09/08 」のように、文字列と一緒に表示すると「日付:09/09」と表示されます。
すなはち、数値や演算子以外の文字列と一緒に表示させると、数値ではなく、文字列として認識します。
半角空白は不可ですが、全角の空白は文字列と認識可。
変数や関数の戻り値を表示する場合も同様。
待機(待ち)
フォームが開くまで処理を待ちたい
フォームAで入力完了すると、フォームBが開く。
フォームBが開くまでの時間は不定。フォームBが開くまで待ちたい場合。
AP_Waitコマンドで、アプリが起動中/未起動を判定して待機することができます。
使用例
分岐
表示される文言による処理分岐
内容が異なるが、
同一タイトルで表示されるダイアログボックスの
内容を判定して、以降の処理を
分岐したい場合。
対象のアプリによりますが・・MSAA(MicroSoft Active Accesibility)準拠であるか否か・・
ウィンドウ内容に応じた処理が行える可能性はあります。
1.下記のツールで、内容を読み取れるかを調べてみます。
MSAA解析ツール
2、内容を認識できたら、下記が参考になるかもしれません。
指定座標で特定文字列の出現を監視する
出力
メッセージを表示
メッセージを表示するには、
MSG_BOXと
SHOW_MSGがあります。それぞれ
MSGBOX:
簡単にメッセージを表示したい、または、
ユーザーの判断を仰ぎ(Ok/Cancel、Yes/No、はい/いいえ)、次の処理を決める場合など
SHOW_MSG:細かく書式を設定したい場合
自動クローズ:指定時間経過したら、自動で次のステップに移行したい、場合など
モードレス
オフ:プログラムを続行しながら表示も継続
オフ:メッセージ表示中は」プログラムを停止
表示メッセージを指定時間後に自動で閉じて続行したい
SHOW_MSGを使用を使用し、自動クローズの
秒数と、
モードレススイッチを
オンにします。
これで、指定時間経過したら、自動で次のステップに移行します。
モードレスを
オフの場合は、表示中もプログラムを
続行します。
IE操作
IE:IENavigateで新規にIEを起動してページを表示したい。
■IENavigateの仕様既にIEが起動していたら、そのIEのページを移動IEが起動していなかったら新しくIEを起動してページ移動もし、常に新しいIEでページを開きたい場合は、AP_OPENを使用して下さい。URLを指定するだけでIEが新規に起動してページを開きます。
注:既存IEに新規タブを追加する機能はありません。
EXCEL操作
マクロ操作で「実行時エラー 1004」が表示される
実行時エラー 1004
プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます
と表示される場合、「VBA プロジェクト オブジェクト モデルへのアクセス」許可が必要です。
「
VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」のチェックボックスを
オンに設定してください。
マクロ操作で「マクロ 'xx yy.xlsm!www' を実行できません
エラー発生
5:XLRunMacro
マクロ '新規 Microsoft Excel ワークシート.xlsm!Macro1' を実行できません。
このブックのマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。
前項の「
VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」をオンにしても、このメッセージが表示される場合、
ブック名を確認してください。
ブック名の中に「
スペース」が入っていると誤動作します。
上記メッセージ中のブック名「新規 Microsoft
△Excel
△ワークシート.xlsm」のように、スペースが入っていると、正常に動作しません。
ブック名から
スペースを除去して、再度、お試しください。
文字列操作
2010/04/28 と入力されたものを 20100428 のように変換したい
入力値を変数 D とする。
方法1: 置換
Replace(%D%,"/","") とすると、スラッシュが空白に置換される
方法2: 指定位置の文字列取り出し
Mid(%D%,1,4) Mid(%D%,6,2) Mid(%D%,9,2) でそれぞれ、年月日が取り出される。
下記のサンプルコードをダウンロード後、マウスレコーダーで実行して見て下さい。
文字列置換のサンプルコード
03-456-7890 と入力されたものを 034567890 のように変換したい
■数値のようで数値でない場合
03-456-7890
全てが数値、または、+-*/() で構成されるものは、自動で演算数値として認識してしまいます。
(改良がなかなか難しいです。)
そこで、文字を何処かに付加すると、文字列とみなして変換できます。
下記例は、
1.元の電話番号の頭に「a」を付加して変数「x」に格納
2.「-」を空白に置換
3.「a」を除去(2番目から文字列を取り出して表示。(100は1000でも10000でも可)
クリックで選択 → マウスレコーダーに「貼り付け」て使用可。
Set x a03-456-7890
Set x Replace(%x%,"-","")
MSG_BOX mid(%x%,2,100)
実行すると、"034567890"が表示されます。
実際に使用する場合は、もう少し工夫が必要です。
正規表現: 括弧([ ])の中の文字列を取り出したい
郵便番号は[253-4587]です。のカッコ内を取り出す [ ] は特殊文字なので、
\ でエスケープ(打ち消す)必要があります。
具体的には
\[(.*?)\] と記述。
.* :任意の文字の
0回以上の繰り返し
? :
最短マッチ"
正規表現のサンプルコード
その他
マウスレコーダー本体がなくても動きますか?
動作します。
Exeファイル実行を解除する方法(特にWait発行で待ち状態にある時)
以下の方法で実行をキャンセルできます。
方法1:
タスクトレイのアイコンをダブルクリック → 処理終了
方法2:タスクトレイのアイコンを右クリック →
停止をクリック → 処理終了
方法3:停止のホットキー(既定はPause)を押す→
表示状態 →「停止」クリック
exeファイルの配布をしていいですか?
EXEファイルの配布は自由です。 (その為に、EXEファイルでの記録は出来ないようになっています。)
exeファイルで中断した場合、プログラム内容を見えなくする方法とかありませんか?
暗号化して下さい。 「設定」→「その他」「記録データの暗号化」をオンにした状態でEXE作成
実行中にマウスを動かすと停止してしまいます。
「手動マウス操作による停止」をオフにしてからExeファイルを作成して下さい。
[ツール]→[設定]→[動作] [手動マウス操作による停止]基本的に、現在の設定状態がExeファイルにも引き継がれます。
注意:「conf.txt」が同じパスに在ると、そちらを優先します。
Exeを実行するパスには、基本的に「conf.txt」を置かない様に! (Exeの動作を変えたい時は「conf.txt」が役に立ちます。)
実行を強制終了する方法
停止用のキー(Pauze/Break等)を押せば停止します。名称はPCにより異なります。
「Pause」または、「Break」キーこのキーは設定→ホットキーで変更可。
また、「手動マウス操作による停止」(設定→動作)をオンにした状態でEXEを作ると、実行中にマウスを動かしただけで停止します。
どうしても止まらない場合は、Ctrl+Alt+Delete、でタスクマネージャで強制終了してください。
ExeファイルをエクセルVBAから呼び出したい