« ポイント位置の文字列取得 |

2010年06月25日

マウスレコーダー

マウスとキー操作を記録/再生/編集(プログラミング機能付

マウスレコーダー  Ver 10.10 2010/06/25   価格

「マウスレコーダー」は、マウスとキーボードによるウィンドウ操作を記録再生します。定型処理の自動化、デモ、教材作成などに御利用下さい。

プログラミング(条件判断)機能も搭載!



変更履歴

【機能と特徴】

記録
  マウスとキーボード操作を記録(ファイルへの保存)
  
初期状態の設定(アプリ起動)、追加記録

再生
  記録した操作をウィンドウズ画面上で再生
  
再生回数再生速度の指定
  
停止逐次実行(ステップ)ブレークポイント設定

編集
  記録した操作記録をフォーム上で編集可
  各種
イベント(コマンド)の設定/変更
  日本語文章直接
入力
  
アプリ制御(起動/入力/終了/未起動・起動中待機)
  
IE制御(ツールバー設定/更新/自動入力/Web情報取得)
  
エクセル制御(データ入力/マクロ実行)
  
ファイル入出力(CSVファイル/通常テキストファイル)
  
入出力フォーム(インプット/リスト/メッセージ)
  
各種組込関数(文字列操作/デバイス制御)

プログラミング機能
  変数定義、変数値操作、サブルーチンコール
  
繰り返し機能(ループ)、条件待機(Wait)、条件分岐(Jump)
  
監視機能(表示文字/イメージ変化)
  
スクリプト実行(Dosバッチ/VbScript)
  
デバッグ(ブレークポイント設定/変数値参照・書き換え)

その他
  WAVファイル演奏、ファイルのダウンロードキャプチャー
  
シャットダウンスタンバイ復帰付き)
  
ホットキー、タスクトレイ収納、コマンドラインスイッチ
  
インストール不要
  実行データを組み込んだ
Exeファイルを作成可
  記録データの
暗号化
  Exeファイルの実行環境限定

【動作条件】

 Windows2000pro、NT、XP、Vista 


マウスレコーダーの詳細

マウスレコーダーのダウンロード

変更履歴

コメント

>通りすがりの仮面ライダー様

■ユーザーフォーム:ありがとうございます。
 早速、多くの不具合があり、10.10版として修正しました。

■ChildCount:コンボボックスやリストボックスの項目はChildでは無いようです。
 マイクロソフトのツール(inspect32.exe)で見ても、表示されないようです。項目数の取得は別の方法が必要と思われます。
 なお、「ポイント位置の文字列取得」では値の表示が異なっていたので修正していたのでした。まだ、リリースはしていませんでしたが・・

投稿者 エムティ・ソフト : 2010年06月25日 07:38

>大野忠義様

・Wait遅延時間:条件が偽になってからWaitを抜けるまでの時間です。
・Waitの変数指定:10.10版にて対応します。

投稿者 エムティ・ソフト : 2010年06月25日 07:36

V10.0のユーザーフォーム対応は凄いですね。
早速使ってみます。

投稿者 通りすがりの仮面ライダー : 2010年06月24日 08:58

■質問
①waitの遅延時間は何を意味していますか?
②プログラム内の変数の時間だけwaitしたいのですが、方法ありますか?

投稿者 大野忠義 : 2010年06月23日 13:11

ComboBoxの右側の四角ボタンをクリックすると、ComboBoxに登録されているItemが表示されます。このItemの表示中、Item上にマウスカーソルを移動すると、GetStringでChildCount値で確認できませんか。

> ありがとうございます。
> GetStringでも、ListView,ListBox,ComboBoxなどでは、ChildCountは表示されていないと思います・・・
> (0と空白で表示の違いはありますが。)
> 引き続き、詳しく調査してみます。

投稿者 通りすがりの仮面ライダー様 : 2010年06月22日 15:52

>通りすがりの仮面ライダー様
ありがとうございます。
GetStringでも、ListView,ListBox,CombBoxなどでは、ChildCountは表示されていないと思います・・・
(0と空白で表示の違いはありますが。)
引き続き、詳しく調査してみます。

投稿者 エムティ・ソフト : 2010年06月21日 07:38

TreeViewでのGetAccChildCount関数の件、対応ありがとうございます。
ListView、ListBox,、ComboBoxのコントロールでGetAccChildCount関数を使用してみましたが、戻り値が0となっています。
提供中のGetString.exeを起動し確認していますが、結果が異なっているような感じです・・・(たぶん)。

投稿者 通りすがりの仮面ライダー : 2010年06月19日 17:45

>VIA様

ご指摘ありがとうございます。
編集フォームのループ監視間隔が短過ぎて、無駄にCPU使用率を上げていました。
現状でも実害はありませんが、使用率を0近くに下げるように次版にて対応します。

投稿者 エムティ・ソフト : 2010年06月17日 06:54

マウスレコーダー最新バージョン8.90を試用させていただいております

まだまだ手さぐりの状態ですが1つ質問おねがいします

行編集をする際、編集ウインドウを開いてる間、CPU使用率が100%になるのですが試用版の為でしょうか?当方所有のPC2台とも編集ウインドウを開いてる際100%になってしまいます
デスクトップPC(Pentium4 3GHz)ノートPC(Celeron1.7GHz)OS共にXPSP3で試用

ご回答よろしくお願いします

投稿者 VIA : 2010年06月17日 00:52

>大野忠義様

ライセンス規約を変えたことはありません。
マルチランセンス版は、5.60版(2009/09/12)で追加して以降、通常版と差別化を図っています。
使用人数やPC台数の把握は不可能ですので、実質的に、通常版とマルチライセンスは機能の相違(一般用と上級者用)となっています。

投稿者 エムティ・ソフト : 2010年06月14日 07:47

■質問:ライセンス規約がかわったのですか?

以前質問したマルチライセンスの回答と違うような気がするのですが・・・
(コメント消されてるので、うる覚えなのですが・・・)

①通常ライセンスと、マルチライセンスは同等だと回答あったような気がします
②複数のパソコンで使用の場合マルチライセンスが必要だと回答あったような気がします。

投稿者 大野忠義 : 2010年06月13日 11:56

>arai 様 

Q1.通常ライセンスと、マルチライセンスの違いを教えてください。
A1.以下のように定義しています。
 シングルライセンス:お一人様で御利用(開発)
 マルチライセンス:10名様までご利用(開発)可
 ただ、実質的には、マルチライセンス版はシングルライセンスの上位版の位置付けです。
マルチライセンス版用の限定コマンドが多数あり、今後も順次追加していく予定です。

Q2.1つの処理を作成し、複数のパソコンで実行する場合・・・・
A2.お一人様でプログラムを作成する場合はシングルライセンスで利用可とします。
 また、Exeは再配布可としていますので、Exeで実行する場合には、実行するPCの台数に制限はありません。

投稿者 エムティ・ソフト : 2010年06月09日 07:24

エムティ・ソフト様

はじめまして。ライセンスについて質問があります。

1.通常ライセンスと、マルチライセンスの違いを教えてください。
2.ある一連の処理を自動実行させたいのですが、1つの処理を作成し、
  複数のパソコンで実行する場合、実行するPCの台数分のライセンスが必要でしょうか?
 (それぞれの画面サイズに合わせて調整したExeを作り、それぞれで実行させます)

よろしくお願いいたします。

投稿者 arai : 2010年06月08日 18:28

>大野忠義 様 

■IENavigateの仕様
既にIEが起動していたら、そのIEのページを移動
IEが起動していなかったら新しくIEを起動してページ移動

もし、常に新しいIEでページを開きたい場合は、AP_OPENを使用して下さい。
URLを指定するだけでIEが新規に起動してページを開きます。

注:既存IEに新規タブを追加する機能はありません。

投稿者 エムティ・ソフト : 2010年06月06日 07:28

質問:IENavigateで
①新規のウィンドウで開く
②開いてあるウィンドウで開く
の設定はできますか?

投稿者 大野忠義 : 2010年06月06日 00:36

>大野忠義 様 

ありがとうございます。
コンテキストメニュー・検索フォームに「ラベル検索ボタン」を追加します。

投稿者 エムティ・ソフト : 2010年06月05日 07:36

■要望:編集画面の行ラベル順次ジャンプ機能を検索画面にボタンを
要望度:低低 緊急度:低低
・初めて使う人でもすぐに機能があることがわかる
・片手で操作できる

★ここに置くことによりマニュアルに記載することさえなくなり、
マニュアルの簡素化につながるかも?

ps要望の出尽くし感がある・・・・快適に使用しています^^

投稿者 大野忠義 : 2010年06月04日 11:02

>大野忠義 様 

ありがとうございます。以下に、実現済みの機能を記しておきます。

■ラベルジャンプ ←8.30版
・Ctrl+PgDown/PgUpでラベル順にジャンプ

■自作関数
・User-Function:ユーザー定義関数 ←7.00版
 JavaScript/JScript/VBScriptでユーザー定義関数可
 「サンプル集2」参照
・Call-Exe/Return-Exe:Exeコール ←7.30版
 EXEファイル自体を関数として使用可

投稿者 エムティ・ソフト : 2010年06月03日 07:55

★保留中の要望について
以下の要望が保留中ですが、改めて要望又は要望撤回します

■要望:「コピーした行の挿入」にキー割り当てしてほしい
要望度:低 緊急度:低
→要望継続
alt+ins shift+insあたりに割り当てできないですか?

■要望:編集画面の行ラベル順次ジャンプ機能
要望度:中 緊急度:低
→要望継続
・検索機能の一部として検索画面にボタンを
・わりと簡易にできませんか?これがあれば一段と編集しやすいです。

■要望:音量調整機能を作ってほしい
要望度:低低 緊急度:低低
→要望撤回
簡単ならば実現してほしいが要望度自体が低いので

■要望:プログラム画面を格子状にしてそこで直接パラメーター変更もできるようにしてほしい
要望度:中高 緊急度:低
・これがあれば編集作業がすごく楽になりそう
・格子状の編集画面の中でもまた要望が出てくるかも?
・・ドラックにより範囲指定できるように等
→要望継続
なかなか作るのに時間・労力かかりますよね?
是非実現してもらいたいですが・・・半年後にでも実現できてたらいいですね

■ループ文に「最大繰り返し回数」をいれてほしい
要望度:低 緊急度:低
・jump命令の例のように、returnで抜けても繰り返し回数がクリアされないと使いずらい
・自分で変数使用で解決できる(若干行数が増えるが)
・マウスレコーダー自体のプログラムがたいへんそう?
→要望撤回

■自作の関数
・マウスレコーダーの関数強化により、自作の必要性がなくなった
→要望撤回(個人的には現状いらない、他のユーザーの要求度によるかも)

★いままで多くの要望にこたえていただいて、改めて感謝の意を示します。
かなり、快適な使い勝手になったとおもいます。
実際、要望とは限りないものでしょうし。それに答える姿勢に感服します。


★最近、ipadが発売されましたが、マニュアルが4行だけというのに驚きました。
それだけユーザーインターフェイスが簡易なのでしょうね?
そこも人気の高さの要因とも思います。
で、苦言ですが><
マウスレコーダーはプログラム作成という点からマニュアルは大きくなりがちですが、
マニュアル整備が商品価値向上の大きなとこかもしれません。
現状、みやすいマニュアルという状態ではないと思います。
・どこまで書くか?
・対象はどのレベル技術なのか?
・等々・・・・・
実にむずかしのがマニュアル作成です・・・私もかなり苦労しました
(プログラム作成以上に頭を使い工数がかかったような><)

まずはメニューから・・・表示範囲が狭いのがみずらい原因ですが(一覧性が低い)
広げるわけにもいかず工夫するしかないですよね。
・重複項目の削除
・大項目のみの表示(クリックしたとき中小項目が出るように・・・エクスプローラのような感じ)
このような工夫でなんとか一覧性を高めることができそうですが・・・・

中身については・・・・大事なとこですが時間もかかりそうですし、要望の多そうなとこからゆっくりと

投稿者 大野忠義 : 2010年06月02日 13:18

>通りすがりの仮面ライダー様

■キーボードフォーカス位置の取得
キーボードフォーカスを持つオブジェクト(ボタンや入力フィールドなど)がウィンドウを持つ場合は、その位置を下記のようにして取得できます。
1.GetWindowHandleFocus でキーボードフォーカスを持つウィンドウハンドルを取得
2.GetWindowRect でそのウィンドウ位置を取得

サンプルは キーボードフォーカスを持つウィンドウ位置取得 を参考にして下さい。

投稿者 エムティ・ソフト : 2010年05月30日 08:34

■数値をフォーマット 12→012
了解・・・・・できたらマニュアルに「エクセル/アクセスのヘルプを参照」と表記したらいいかも?
■素朴な疑問・・・・前面
「好みの問題」ではなく「デバック中の便利さ」の問題です
デバック中には、動作確認もしますので
また、常に前面のメリットを感じないです
大きな問題ではないので、要求としてあげなかったです。

■Err.logについて・・・せっかくのログですが現状では有効活用しずらいです

>>Err.logファイルが存在している場合は、エラーが起きたと考えて下さい。
毎回、フォルダの中を見るわけにはいかない

>>追記の場合、ファイルの存在有無で判定できないので、開始時に削除しています。
ファイルの中身で判断できます。
フォルダの中を見る手間とそう大差ないような?

>>また、デモなどへの用途を考えていますので、エラーを表示しっぱなしは出来るだけ避けるようにしています。
デモではそんな複雑なエラーの出るようなプログラムでは行わないのでは?(よくわかんないけど)

>>(表示時間を可変 4秒~無限 にする設定は検討します。至極容易)

現状、エラー表示中はマウスレコーダーの操作ができないみたいですが
とりあえず、設定できるようにしてもらえればありがたいです。
(むやみに設定項目を増やすよりmsgboxのほうがいいような気もしますが)

>>エラー発生頻度把握は別問題で、必要なら方法を考えますが、今のところ必要性は感じていません

私(ユーザー)が感じているのです。
しょぼいパソコンなので><

★現状、エラー発生自体気づきにくい仕様で、気づかない場合エラーがあったログさえなくなってしまう仕様です。

投稿者 大野忠義 : 2010年05月29日 09:40

キーボード使用時、TabやEnterキーでフォーカスを移動させています。
現在のフォーカス位置の取得は可能でしょうか。

投稿者 通りすがりの仮面ライダー : 2010年05月28日 17:46

■LEFT_DOWN→LeftClick変換
処理時間の問題は少し感じていました
実際はmvをあらかじめ削除しておいてからの処理でたいした問題ではないと思っていたので
そのまま投稿しちゃいました。

GetCsvData/SetCsvDataのロジックについては、マウスレコーダーは大量のデータ処理をすソフトではないので、優先度は非常に低いのではないでしょうか?
それより、「検討要帳面」の要望から実現していただければありがたいです。

投稿者 大野忠義 : 2010年05月28日 11:16

>通りすがりの仮面ライダー様

ChildCountに用途があるとは思いませんでした。
次版にて追加します。また、関数を精査して見て、不足があれば合わせて追加します。
それにしてもAccesibbleインタフェースをお使いとは、かなりの技量をお持ちとお見受けします。
今後もよろしくお願いします。

投稿者 エムティ・ソフト : 2010年05月28日 07:29

>大野忠義 様 

■数値をフォーマット 12→012
Format(12,"000")とします。
書式文字の形式はエクセル/アクセス(というよりMSソフト全般)とほぼ同じです。
ただ、無数と言って良いほど多数の書式文字がありますので記述を省略しています。
そのうち、主なものを収集して掲載します。
(系統化された資料が無いので、多数の資料から収集する必要があるのです。
とりあえずはエクセル/アクセスのヘルプを参照して下さい。)

■素朴な疑問・・・・前面
好みの問題でしょう。
デバッグ中は前面にあったほうが便利、実際に実行する場合はタスクトレイに格納するので、前面表示は邪魔にならない、と考えています。

■Err.logについて
Err.logファイルが存在している場合は、エラーが起きたと考えて下さい。
追記の場合、ファイルの存在有無で判定できないので、開始時に削除しています。
また、デモなどへの用途を考えていますので、エラーを表示しっぱなしは出来るだけ避けるようにしています。(表示時間を可変 4秒~無限 にする設定は検討します。至極容易)
エラー発生頻度把握は別問題で、必要なら方法を考えますが、今のところ必要性は感じていません。

■LEFT_DOWN→LeftClick変換
ありがとうございます。
本コードを試用中、別の問題を発見してしまいました。
500行ほどでは、ほぼ、許容時間で処理が終了しますが、2000行ほどになるとフリーズと言って良いほど時間が掛かるようです。しかも、4倍では無く、級数か指数乗倍の所要時間。
これは、GetCsvData/SetCsvDataのロジックに問題があることを強く示しています。
精査/検討して見ます。

投稿者 エムティ・ソフト : 2010年05月28日 07:28

いつもお世話になっています。

要望ですが
TreeViewのChildCountが取得できれば、助かります。

投稿者 通りすがりの仮面ライダー : 2010年05月27日 17:01

■こんなの作っちゃいました
Dim 処理行 1
Dim レコード数
Dim コマンド名
Dim 座標1X
Dim 座標1Y
Dim 座標2X
Dim 座標2Y
GetCsvInfo 無題.dat
SetVariable 0 %レコード数% %CsvRecordCnt%
Do-While %レコード数% >= %処理行%
GetCsvData %コマンド名% %処理行% 2
If %コマンド名% = [%DQ%]LEFT_DOWN[%DQ%]
GetCsvData %座標1X% %処理行% 6
GetCsvData %座標1Y% %処理行% 7
GetCsvData %座標2X% %処理行% + 1 6
GetCsvData %座標2Y% %処理行% + 1 7
If クリック判定 (%座標1X% = [%NL%]%座標2X% ) && (%座標1Y% = [%NL%]%座標2Y% )
SetCsvData 無題.dat LeftClick %処理行% 2
SetCsvData 無題.dat %処理行% 4
SetCsvData 無題.dat MV %処理行% +1 2
End-If
End-If
AddVariable %処理行% 1
WLoop

★記録したデータの
・クリック部分(LEFT_DOWN)をLeftClickに置き換える
・クリック部分(LEFT_UP)をMVに置き換える
・置き換えたLeftClickのTIMEを空白に
・ドラック部分は放置

■記録をもとにプログラム作成するのにかなり便利です
簡単な動作確認はしましたが自己責任で><

投稿者 大野忠義 : 2010年05月27日 13:39

■Err.logについて
エラーで落ちたのか、正常終了かの判断がErr.logの存在でしか判断できないのはきついです。
(毎回、フォルダの中を見るわけにはいかない)
・画面にもなにかしらのメッセージがほしいです
・エラーの頻度も知りたいので、Err.logは追記方式がいいです。
(たいしたファイル容量にもならないでしょうし)

投稿者 Anonymous : 2010年05月27日 12:08

■素朴な疑問・・・・
マウスレコーダーが最前面ある理由がわかりません
影武者のように活躍するソフトのような感じがするのに・・・・
デバックしながら動かすときは最前面にあることで位置移動しながらになるので煩雑さを感じます。
一方、最前面にあるメリットは感じられないのですが・・・・

投稿者 大野忠義 : 2010年05月27日 10:02

■数値をフォーマットできませんか?

たとえば、12 を 012のように

format関数の説明には日時の変換しまなかったのですが・・・

投稿者 大野忠義 : 2010年05月27日 09:54

>大野忠義 様 

作成場所:マウスレコーダー本体(mrecorder.exe)と同じフォルダ
なお、「開始」時に「Err.log」は削除されますので、エラー発生直後に参照して下さい。

投稿者 エムティ・ソフト : 2010年05月27日 07:07

■Err.logがみつかりません
「スタックオーバーフロー」のエラーが出たのですが err.logがみつかりません
マウスレコーダーは自分で作ったフォルダにいれています。

投稿者 大野忠義 : 2010年05月26日 10:53

>大野忠義 様 

エラーメッセージは「Err.log」(マウスレコーダーと同じフォルダ内)に時系列で取得されますので、再確認は、そちらのファイルを参照してください。

投稿者 エムティ・ソフト : 2010年05月26日 07:12

要望:異常終了時のメッセージをmsgboxで出してほしい
要望度:中の高 緊急度:中

現状、メッセージがすぐ消えてしまうので、放置状態だとなにが原因で終了したかわからない。

投稿者 大野忠義 : 2010年05月25日 11:53

>大野忠義 様 

■WM_SETTEXT

使用する言語は何でも構いません。C++でもVBでも。
SendMessageはウィンドウズの標準関数(API)です。

■サンプル作ってもらえれば理解しやすいかもですが・・・・

サンプルを提示したつもりでしたが??

なお、VBAもVBもほとんど同じなので、VBAができるなら、
Webページのサンプルコードをエクセル/アクセスにコピーして使用できます。
ほんのちょっと手直しは必要ですが・・

投稿者 エムティ・ソフト : 2010年05月22日 07:27

■こういう仕様だったのね><
Dim a 0
Call dd
Call dd
MSG_BOX %a%
QUIT
dd
AddVariable %a% 1
If %a% = 5
Return
End-If
Loop 10 dd
Return

%a%の結果は15になると思っていました。
条件つきでループを抜けても回数はクリアされないんですね。

投稿者 Anonymous : 2010年05月22日 04:33

■WM_SETTEXT
vbで外部呼出しってことですか?
vbやったことないです><・・・・vba(アクセス)ならあるけど
ちと難解ですがもうちょっと勉強してみます
サンプル作ってもらえれば理解しやすいかもですが・・・・

投稿者 大野忠義 : 2010年05月22日 04:20

>That's21様

■Unicode対応
検討します。多分、それほど難しくは無いと思います。

■コマンド英文字化
これは難儀です。メインコマンドはともかく、パラメータにも数多く日本語を使用していますので、全てに英文字も割り当てるのは困難です。

補足:
 英語版 Windows7 Enterprize を入手して動作を試してみましたが、実行どころか、起動すら出来ませんでした。
多言語版を作成するのは、なかなか大変なようです。
引き続き、トライして見ます。

投稿者 エムティ・ソフト : 2010年05月21日 07:50

>大野忠義 様 

■WM_SETTEXT:下記の例を参照して下さい
他アプリへの文字入力2

投稿者 エムティ・ソフト : 2010年05月21日 07:49

■WM_SETTEXT
理解できないので、簡単なサンプルを作っていただけないでしょうか?

投稿者 大野忠義 : 2010年05月21日 05:59

"CSV読込" コマンドについての要望

先月よりマルチライセンスで利用させて頂いてます。

日本語以外の OS (US, KOR など) 上でマウスレコーダーを実行すると、"CSV読込" コマンドで失敗してしまいます。
恐らくコマンド名の "読込" が OS 上で読めないためだと思われます。

dat ファイル、csv ファイルを Unicode 対応して頂くことは可能ですか?
また、Unicode 対応以外の回避策として、コマンド名に日本語を使わないように変更、または全く同機能で英語名のコマンドを追加するなどの対応をして頂けると嬉しいです。

ご検討のほどよろしくお願いします。

投稿者 That's21 : 2010年05月20日 12:53

>大野忠義 様 

■WM_SETTEXT:下記を参照して下さい
ウィンドウに関連付けられたテキストを設定

■メニュー項目リンク不備
ありがとうございます。

投稿者 エムティ・ソフト : 2010年05月20日 07:30

■メニューの下記の表示が違う表示になっています
CSV関連
 GetCsvInfo
 GetCsvData

投稿者 大野忠義 : 2010年05月19日 15:43

■WM_SETTEXT

時間できたので、もう一度勉強しようと思ったが・・・・コメントの返答が消されてる><
いま、一番困ってるとこなので・・・・どこを参考にしたらいいですか?

投稿者 大野忠義 : 2010年05月19日 14:46

>谷口様

■INPUT_MSG MSG_BOX でのフォント指定
検討項目に入れて置きます。
(変更/処理が面倒な割にニーズが少ないような気もします。)

■INPUT_BOX表示ずれ
フォントのサイズは変更していませんが、フォントの種類をプロポーショナルフォント(MS Pゴシック)から等幅フォント(MS ゴシック)にしました。これで幅が広がってずれたのでしょう。この件は責任を感じますので、MS Pゴシック⇔MS ゴシックの切替スイッチを設置します。

投稿者 エムティ・ソフト : 2010年05月19日 07:06

>大野忠義 様 

■制限時間
「制限時間」は強制終了するまでの時間です。
既定値(空白)は無限。

■タスクトレイ収納
ありがとうございます。再現に努力してみます。

投稿者 エムティ・ソフト : 2010年05月19日 07:05

INPUT_MSG MSG_BOX での、表示文字の大きさを、変更したいのですが
何か方法はあるのでしょうか。どこかのVerUp以降、文字大きさがかわり、表示ずれし
表示が大きくなり、少し小さくしたいのですが。
SHOW_MSG は、文字の大きさの設定ができるので、同様に、表示文字の大きさを
設定変更できないかとぜいたく、考えております。

投稿者 谷口 : 2010年05月18日 15:23

障害報告 8.10
タスクトレーの収納のチェックをはずしても収納されてしまう。
再起動しても同じ

投稿者 大野忠義 : 2010年05月18日 11:51

質問 ①記録→初期状態を設定 の制限時間はプログラムを強制終了する時間ですか?
②既定値設定してありますか?してあるとしたら何分ですか?

投稿者 大野忠義 : 2010年05月18日 10:17

>通りすがりの仮面ライダー様

ウィンドウサイズの取得方法
  GetWindowRect(%hWnd%,L,T,W,H)
のように関数を使用します。hWnd,L,T,W,Hは変数名。
変数L,T,W,Hにそれぞれ、左位置、上位置、幅、高さのピクセル値が格納。
詳しくは、マルチライセンス用各種関数を参考にして下さい。
なお、アクティブウィンドウ、およびキーボードフォーカスを持つウィンドウハンドル取得関数
  GetWindowHandleActive,GetWindowHandleFocus を 8.50(2010/05/13)版で追加しました。
使用方法の具体例は、サンプル集2を参考にして下さい。

投稿者 エムティ・ソフト : 2010年05月13日 07:03

>大野忠義 様 

「プログラム内で、マウスレコーダー自身の位置移動」は出来ません。
替わりに、「記録→初期状態設定」にて、開始時の位置やサイズ、ウィンドウ状態の指定は出来ます。

投稿者 エムティ・ソフト : 2010年05月13日 07:00

購入してから日が浅く、まだまだ学ぶべきことが多いのですが...
アクティブウィンドウの座標(Left,Top,Width,Height)の取得するには、どのようにすればいいでしょうか

投稿者 通りすがりの仮面ライダー : 2010年05月12日 12:51

■質問
プログラム内で、マウスレコーダー自身の位置移動はできませんか?

投稿者 大野忠義 : 2010年05月12日 11:09

>ken様 

■Windows7での動作について
 → 「3.たぶん動作すると思うが検証してない。」です。(Vistaでの動作は確認)
  Windows7はOS構造がVistaとほぼ同じなで、アプリの動作には問題は無いかと思われます。
  なお、他のユーザーの方のWindows7での検証結果(64ビットマシン)が下記に報告されています。
 VECTOR:Windows 7動作報告>マウスレコーダー

投稿者 エムティ・ソフト : 2010年05月12日 07:06

Windows(R) 7対応について
便利に使わさせていただいております。
XPを使用してますが、買い替えを考えております。
Windows(R) 7での動作について、たぶんのレベルで結構ですので教えてください
1.まつたく動作しない
2.一部支障がある
3.たぶん動作すると思うが検証してない。

投稿者 ken : 2010年05月11日 20:04

>大野忠義様 

■Else障害
再現に鋭意努力していますが、まだ、成功していません。
しばらくお待ち下さい。再現テストを継続します。

投稿者 エムティ・ソフト : 2010年05月10日 08:24

■障害 8.10
以前報告したELSEの障害が出ます。
CALL された場合、ネストされた場合等、貴社で再テストしていただけないでしょうか?
こちらで、たまたま出た現象だけでは網羅されないでしょうし

PS・なにかコマンドすべてを網羅したテストプログラムを作成して大幅改造したときとかは、1度それで簡易テストをおこなえばどうでしょうか?1度テストプログラムを作成したら以後のテストにも使えるでしょうし。

投稿者 大野忠義 : 2010年05月09日 10:23

■パクるならこっちを^^
以前のは終了機能がありませんでした。
終了機能を考えました。
msgboxで何を選択したかの判断のしかたがわかりませんでした。
ちょい改造してサンプルにでもしてください。

Do-While 1=1
SHOW_MSG 0 15 45 2835 3705 0[%CM%]13155435[%CM%]1[%CM%]0[%CM%]-2147483640[%CM%]12[%CM%]MS Pゴシック[%CM%]False[%CM%]False[%CM%]False[%CM%]False[%CM%] GetPixelPoint()[%NL%]赤要素=GetRValue(GetPixelPoint())[%NL%]青要素=GetBValue(GetPixelPoint())[%NL%]緑要素=GetGValue(GetPixelPoint())[%NL%][%NL%]終了はマウスをここ[%NL%]000
If GetPixelPoint() = 13155435
MSG_BOX 4 色検索終了しますか?
If <<<?msgboxで「はい」を選んだら>>
QUIT
End-If
End-If
WLoop

投稿者 大野忠義 : 2010年05月09日 00:12

>大野忠義様 

■障害
なるほど!助かりました。

■IE表示完了待ち
IENavigete URL を使用してWebページを開くと自動的に表示完了を待ちます。
クリックなどでページ移動する場合は、IEWaitで表示完了を待つことが出来ます。
どうしても色で判定する場合は、お奨めできませんが、Do-Whileを使用して下さい。
001 Do-While getpixel(978,154) <> 16698454
002 WLoop

Waitは条件が真の場合の待ちですが、単純待ち/画面上の文字判定用なので、この場合は使用できません。

■いっきに全部変換
下記をダウンロードして参考にして下さい。
Orgシートにプログラムを貼り付けるとEditシートに変換結果が表示されます。
-EXCELでのLEFT_DOWN/LEFT_UP→LeftClick変換例(ファイル容量大の為掲載継続中止)- 特定コマンドのtime変更 も、数式や並べ替えなどを利用して簡単にできます。
Accessの更新クエリなどを利用するより簡単だと思いますよ。

投稿者 エムティ・ソフト : 2010年05月08日 08:52

ネットの画面を開いて、操作をしようと思うのですが、
開ききっているかを画面の色判定で行おうと思っています。

waitの機能がいまいち理解できていません。
・条件に合致したらwait状態になるのか?不一致の時wait?
・条件を満たしているかループしてwaitをかけているのか?


Wait 10000 GetPixel(772[%CM%]425) = 16698454

投稿者 大野忠義 : 2010年05月08日 01:28

■いっきに全部変換
csvファイル機能はまだ使ってないのですが
自作ででできそうですか?
できそうならば、自作します。
accessではできるのはわかっていますが、マウスレコーダーで作ってみてもいいかなって気でいます。

投稿者 大野忠義 : 2010年05月08日 01:20

障害報告:再再生したらマウスレコーダーが落ちる

以前報告した件ですが、現象がわかりました。

1回目の再生
escキー等での停止
再再生(再生を押しても再生のボタンはまだ押せる状態、再再生は通常)
・・・ここで、再生していることに気づかない(waitの時間等は止まっるかと思ってしまう)時に
再度ボタンを押した時にマウスレコーダーが落ちる

再再生が動いてる時、再生ボタンを押せなくしてもらえれば落ちることはなくなると思います。

投稿者 大野忠義 : 2010年05月07日 14:22

了解しました。ありがとうございました。

投稿者 うみおよ : 2010年05月07日 14:08

>うみおよ様

改行などの特殊なキーは、{CrLf}のようにカッコ付きで記述して下さい。
  例: あいう改行 → あいう{CrLf}
右記リンク参照 特殊キーの入力
また、キーコードを文字に変換する関数Chrを用いて
  あいうChr(13)Chr(10)とも記述できます。 Chr(13)=Cr Chr(10)=Lf 

投稿者 エムティ・ソフト : 2010年05月07日 10:33

すいません。
本プログラムで動作しなかったので、この部分だけ抜き出してみたんですが、試した文字列が
?>
でして、?がきっと予約語か正規表現かわからないですが、ひっかかるんですよね、きっと。
実際に比較するのは普通の2バイトも含む文字列で、そちらを何種類か試したんですが、すべて一致が出ました。
ifの条件文で、改行を含む文字列の比較ができないと思っての投稿でした。
きちんと確認せずに大変失礼しました。

参考までに教えていただきたいのですが、
改行コードを含む「789CrLf」
と書かれていますが、例えば変数に「abc(改行)」といれたい場合は「abc789CrLf」と入れればいいんでしょうか。
よろしくお願い致します。

投稿者 うみおよ : 2010年05月07日 09:15

>大野忠義様 

■変数一覧
 選択範囲が自由に出来ること、コントロールの使い回し(用途)幅が広いこと、がテキストボックスを採用している理由です。

■いっきに全部変換
 →現状却下。RightClick,MiddleClick、各種キー、その他についても要望が出るのが容易に想像出来ます。将来的には面白いかもしれません(暇死しそうな時に考えます)
 time や LeftClickだけなら、Excelの数式だけでも簡単に編集できそうですね。LEFT_DOWNの次がLEFT_UPならLEFT_DOWNの行をLeftClick仕様に書き換えてLEFT_UP行を空白にする-という数式。

■「コピーした行の挿入」にキー割り当て
 →検討要帳面に付けて置きます。

投稿者 エムティ・ソフト : 2010年05月07日 07:13

要望:「コピーした行の挿入」にキー割り当てしてほしい
要望度:低 緊急度:低

超頻繁にこの機能を使用しています。
キー割り当てしてもらえれば編集が楽になりそうです。

投稿者 大野忠義 : 2010年05月07日 02:57

○記録をもとにプログラムを作成するとき

・time を全行削除(あとで適正な時間をいれる)
・KEY_DOWN / KEY_DOWNの2行 を LeftClickの1行に書き換え
の編集をしています。

いっきに全部変換できたら、便利だと思っています

投稿者 大野忠義 : 2010年05月07日 02:53

変数一覧・関数一覧・・・すごく便利です

現状で98%満足です
あえて改造するならば・・・・・・・
・多くの場合は、一覧からコピーしてプログラムにペーストして使用しています
一覧をリストボックスにしてもらって、クリックするとコピーできたらいいかなと思います。

ps:現状で満足しているので、要望としてはあげません

投稿者 大野忠義 : 2010年05月06日 18:36

>うみおよ様

■不一致の件
戴いたコードをメモ帳とワードパッドで試したのですが、共に、「一致」と表示されます。試したデータは
123
456
789

最後は改行のみの空行
もしかしたら比較データによって動作が異なるのかもしれません。
差し支えなかったら不一致となるデータも教えて戴くと助かります。
また、エディタによっても異なるかもしれませんので、メモ帳をエディタとして上記データを試してみて頂けないでしょうか?
なお、上記の場合、最終文字は改行なので、%CLIPBORD% および %mozi% の中身は最後に改行コードを含む「789CrLf」となることに御注意下さい。

投稿者 エムティ・ソフト : 2010年05月06日 15:12

しつこくすいません。
以下のコードをご確認いただけますでしょうか。

Dim mozi
テキストエディタをクリック LeftClick 309 883 565 1 -2 145 1303 985
Ctrl+End 11 789 883 565
↑ 26 78 883 565
Shift+End 10 465 883 565
Copy 11 179 883 565
SetVariable 0 %mozi% %CLIPBOARD%
If %mozi% == %CLIPBOARD%
AP_Open 1000 0 300 350 \NOTEPAD.EXE
文章入力 一致
Else
AP_Open 1000 0 300 350 \NOTEPAD.EXE
文章入力 不一致
End-If

テキストの一番下の行をコピーして変数にいれ、変数とクリップボードの中身をifで比較すると不一致になります。
どこか記述が間違っているでしょうか。
よろしくお願いいたします。

投稿者 うみおよ : 2010年05月06日 09:59

>大野忠義様 

■「コピーした行の挿入」等のメニュー操作をできるようにしてほしい。
 → 了解

■編集画面の行ラベル順次ジャンプ機能
 → ありがとうございます。検討要帳面に付けて置きます。

■比較演算子は下記のようにしてください。
 %変数% >= 1
 %変数% <= 1
演算子を参考にして下さい(追記しました)

投稿者 エムティ・ソフト : 2010年05月06日 08:08

■質問
いまさらですが・・・・
比較演算子の以上、以下の表現を教えてください

%変数% => 1
%変数% <= 1

の表現でいいですか?

投稿者 大野忠義 : 2010年05月05日 15:08

要望:編集画面の行ラベル順次ジャンプ機能
要望度:中 緊急度:低

通常プログラムを作る場合、ラベル(サブルーチン)毎に機能ブロック化して作成しています。
ボタンを押下することにより次のラベル位置まで移動したら便利です。

投稿者 大野忠義 : 2010年05月05日 13:23

要望:検索中に「コピーした行の挿入」等のメニュー操作をできるようにしてほしい。
要望度:高 緊急度:高

左上の検索画面を移動してもらうことにより、すでに「検索は常に隠さないようにしてほしい」
の要望は満たされています。ごくまれに隠れたとしても「検索フォームを横にずらすだけで済むこと」なので問題ないです。(以前は毎回だったので、煩雑さを感じていました)

前面にやることにより、メモリーも多少多く食うことでしょうし、すでに前面にする意味がないばかりか、デメリットだけが残ります。

ps・新コマンド機能等を提供していただいたので、プログラムの適正化をすすめていってますので、検索機能を使いながら編集機能を使えたら能率が非常にあがりる点、以前の機能の戻すだけという点から 緊急度:高 にしました。よろしくおねがいします。

投稿者 大野忠義 : 2010年05月05日 10:27

すいません。ご回答ありがとうございました。
無事解決いたしました。
またよろしくお願い致します。

投稿者 うみおよ : 2010年05月04日 16:09

>うみおよ様

■[ ]内の文字取り出し
[ ]は特殊文字ですので、半角の"¥"記号でエスケープする必要があります。
具体的には ¥[(.+?)¥] の形式 ?は最短マッチ
具体例は、下記のリンクを参照してみてください。
正規表現FAQ

■( )付加
SetVariable 変数 (%MatchData%)  とすれば括弧付きでセットされます。
が、ここで問題点がひとつ浮上。()自体が当ツールでも特殊記号なのです。
現状、( )内が数値の場合は( )内を演算してしまい、(1234)→1234 となってしまいます。
SetVariable 変数 郵便番号:(%MatchData%) のように数値以外の文字列が含まれている場合や
SetVariable 変数 (%MatchData%) のように全角の( )だと演算しないのですが・・
正式の対応策は検討します。とりあえずは上記で。

投稿者 エムティ・ソフト : 2010年05月04日 08:11

先日はいろいろありがとうございました。
拡張していたのですが、また不明点がありまして質問させていただきます。
正規表現で文字列を抽出して変数に代入することは可能でしょうか。
具体的には
[123]ここの文字を変数に(abcdef)
という形で、]と(に囲まれた部分を変数に入れたいと考えています。
よろしくお願い致します。

投稿者 うみおよ : 2010年05月04日 01:31

>大野忠義様 

■If~ELse~End-If もう少し複雑な式?
 If~ELse~End-Ifのネスト(入れ子構造)の場合に発生しませんか?
 よくよく調べてみると、その場合に問題がありました。8.10版で修正
 そうで無い場合は、別件。再調査要

■LeftClick:元に戻しましょう。
 既定値を元の10msに戻し、LeftClickの連続がダブルクリックとなり不都合なユーザー様には、大きな値を入力して頂くようにしましょう。
不都合なダブルクリックが生じた場合、ユーザー様は、原因と対処方法を、すぐに気付かれるように思われます。
(その方が良さそうです。)

投稿者 エムティ・ソフト : 2010年05月03日 07:20

★障害報告 ver 7.90
IF文で真の場合でもELSEの処理を実行してしまう場合がある

IF %A% = 1
処理A
ELSE
処理B
ENDIF

上記の場合
%A%=1・・・・・処理A 処理Bを実行
%A%=0・・・・・処理Bを実行

プログラムの数箇所で同じような現象がおこっています。
RETURN等、思い当たるところを見てみましたがわかりませんでした。

尚、以下のように書き換えてみたら、正常に動きました。
IF %A% = 1
処理A
ENDIF
IF %A% = 0
処理B
ENDIF

ELSEになにか原因がある可能性はないでしょうか?

投稿者 大野忠義 : 2010年05月02日 13:46

■WM_SETTEXT
当方のスキル不足で理解できませんでした><
簡単なサンプルを作ってもらえればありがたいのですが・・・

投稿者 大野忠義 : 2010年05月01日 10:23

WM_SETTEXT
のやりかた、教えてください。

投稿者 大野忠義 : 2010年04月30日 06:32

>大野忠義様 

■他アプリへの文字入力について

クリップボードデータの「貼り付け」は、あまり信頼性のある方法ではありません。
何が原因でどのようにしたら防げるかは判りません。詳しいことは、Microsoft社の方へお尋ね下さい。
また、当然の事ながら、どこかのアプリがコピーからペーストまでの間にクリップボードを使用したら、内容は全くアテには出来ません。他アプリ動作中のクリップボード使用は控えた方がよろしいですね。

●マウスレコーダーでは、他アプリへ入力する必要がある場合複数のインタフェースを採用しています。

コマンドと内部実現方法 ・・・ 信頼性 ◎:高 ○:中 △:低

Ctrl+V、Paste ・・これは通常の貼り付け △
文章入力
 ・1文字単位
   半角英数  ◎ WM_IME_CHAR
   全角混在  △ 貼り付け
 ・一括入力
   半角英数  ◎ キーストロークエミュレート
   全角混在  ◎ WM_SETTEXT
 ・継続一括   ○ 貼り付け

よって、「文章入力」の「一括入力」をお奨めします。

投稿者 エムティ・ソフト : 2010年04月29日 06:46

★障害報告:ペーストに失敗します

数百回に1回ですが、ペーストしても何もでてきません。

コピーのほうは、プログラムで変数をいれており、
ペーストはアプリにおこなっています。
アプリの貼り付け位置を取得できていない可能性があるのかと思い、
アプリの貼り付け位置は2度にわたって、取得しなおしても失敗の頻度はかわら
りません。
何か考えられる問題があるなら教えてください。

投稿者 大野忠義 : 2010年04月28日 09:58

><またやっちまった><
2重立ち上げ・・・・・また電源ボタン長押しかぁ・・・・・
せめて、5秒でいいからマウス制御返してくれーーー
デバック中は3つくらいマウスレコーダー立ち上げています
サブルーチンごとに、別プログラムでテストして作り上げているからです。

こんなになってしまった時の対処策、なにかうかびませんか?
しかたないから、自己責任で電源長押し・・・・・クゥ・・

投稿者 大野忠義 : 2010年04月26日 14:20

要望:音量調整機能を作ってほしい
要望度:低低 緊急度:低低

playsound のときだけ音を出したいのですが、使ってるアプリの音を切ることができません。
また音源によって音の大きさが違うので音量調整ができたらなぁ・・・・

投稿者 大野忠義 : 2010年04月26日 14:03

>うみおよ様

紛らわしい書き方をしました。
サンプルコードでは、「検索文字列」という変数を定義して、その内容を比較しているので (.*%検索文字列%.*) となっています。%xx% は変数内容参照の意味。
直接に"横浜"のような文字を検索する場合は、(.*横浜.*) のように記述します。

投稿者 エムティ・ソフト : 2010年04月26日 06:59

要望:プログラム画面を格子状にしてそこで直接パラメーター変更もできるようにしてほしい
要望度:中高 緊急度:低

・「格子状の画面」と「現行の画面」は切り替えで表示
・文字列パラメーターは文言編集ができるように
・文字列パラメーターは見切れてもかまわない(下手に横幅伸ばすよりいいかも)
(エクセルのように横幅変更できればなお良い)

要望理由:
数字のパラメーターは複数列に及んで編集することが多いので、現行では操作が煩雑

ps:ここまでしたら、エクセルや他のエディターに頼らないで、胸をはってマウスレコーダーのエディターを使用してくださいと言えるでしょう^^

投稿者 大野忠義 : 2010年04月26日 05:54

やりました!
うまくいきました~
結果的には
CheckData %CLIPBOARD% (.*%検索文字列%.*)ではなく
CheckData %CLIPBOARD% (.*検索文字列.*)で抜けました。
%の違いがよくわかりませんが、とりあえずここから拡張していこうと思います。
お忙しいところこまごまとご対応いただきまして感謝感激です。
また、なんか毎日大変みたいですが(^^;
頑張ってください~きっと将来いいことがあります!

投稿者 うみおよ : 2010年04月25日 13:48

■マウスレコーダーの2重立ち上げについて

同時に2つ動かしてしまうと(片方は一時停止中)、キー中断できなくなってしまう場合があります
多分、終了キーの制御が一時停止中のほうにいっちゃってるのでしょうね
技術的にどうしようもありませんよね?
(2重立ち上げは自己責任での回答が返ってきそうな気がします^^)

マウスは動き回ってるので、もうどうしようもない状態におちいります><
しかたなく、電源長押しで強制パソコン終了><
わかっちゃいるけど、数度やらかしてしまいました^^
(なぜかうちのパソコンは長押し終了したらネット接続ができなくなる・・・
なぜか、なんにもしないのに半日くらいしたら復旧してしまう・・・謎)


ps:誰かここ数ヶ月、投稿しまくってる人がいるのでここもいっぱいになってきましたね。
そろそろ最近のログはのこして過去ログとして別頁にしたらかと・・・・

投稿者 大野忠義 : 2010年04月25日 09:33

>うみおよ様
CheckDataの次に%MatchData%をJump内で参照した場合に、不備がありました。
(Jump処理先頭で%MatchData%を初期化していたため、不一致)
再挑戦。下記をお試し下さい。→ 7.51版にて
  正規表現を利用した監視

投稿者 エムティ・ソフト : 2010年04月25日 07:06

■プログラム終了後のクリップボードの内容を選択


プログラムにはいる前のクリップボードの内容は、
プログラム内でも使用できるようにしてください。、
変数に格納しておいて、またプログラム内で復元して終了できるからいいのではないかと思います。

プログラム内で変更しない場合は、そのままクリップボードの内容が残るってことですね。

投稿者 Anonymous : 2010年04月24日 01:31

ご丁寧にサンプルソースと、また新しいキーマクロ対応版までありがとうございます。
対応の早さにびっくりです。

ところで頂いたサンプルで試してみても動作せず、いろいろ試してみて気づいたのですが、Waitの説明のところで
クリップボードの内容に「大阪」の文字が含まれている時
とあったので勘違いしてしまったのですが、「大阪 %Clipboard%」というのは、「文字が含まれていればいい」というわけではなくて「完全一致じゃなきゃダメ」なんですよね^^;

それと、もう一点、今回の場合、Waitである必要がないのですが、(逆に時間をおかずにループチェックを速くしたい)Jumpの中に条件式を設定できるようですが、こちらを使用してもいいんですよね?
JumpにもTimeを設定できるし、今回はWaitではなくJumpやIfでいいのかなと思いました。

それで、以下のように変えたのですがやはりループを抜けてくれません(汗

CBWait
EmEditor LEFT_DOWN 16 393 912 1 -4 801 1256 1016
LEFT_UP 12 393 912
Ctrl+End

Shift+End
Copy
CheckData %CLIPBOARD% (.*調査文字列.*)
Jump * %MatchData% HIT
Jump CBWait
HIT LEFT_DOWN 63 760 62 1 0 0 1030 795
~
再度お手数ですが、ご指摘いただけると幸いです。
よろしくお願い致します。

投稿者 うみおよ : 2010年04月23日 10:43

>うみおよ様

プログラムに問題は無さそうです。
(詳しいことは実際のアプリを使用してみないことには判定できませんが・・)
そこで、頂いたプログラムをメモ帳最終行を監視するように改造したものを下に記します。
下記をダウンロード/保存後、マウスレコーダーで読み込んで試して見て下さい。
最終2行は、新版(7.50)で追加したキーマクロを利用しています。

メモ帳最終行監視

  ほとんどそのまま     頂いたプログラムとほぼ同じで、対象と監視文字を変更

追加したキーマクロを使用(7.50版以降)
  キーマクロ使用(Wait)    Waitコマンドを使用
  キーマクロ使用(InStr関数) 文字列関数(InStr)を使用

投稿者 エムティ・ソフト : 2010年04月23日 07:05

>大野忠義様 

ご要望の件について
以下のように変更します。

■プログラム終了後のクリップボードの内容を選択
 →選択は複雑になるので、コマンドでの変更時は復元しないように変更
  (SetClipboard/AssClipboard/MulClipboard発行時)

■検索結果の表示位置を真ん中
 →リスト中央に選択行(検索結果)を表示

■ウィンドウの位置指定
 →AP_SetPosを追加。位置/サイズを指定

投稿者 エムティ・ソフト : 2010年04月23日 07:04

質問:
ウィンドウの位置指定に下記を使用していますが コマンド抜き、で設定できませんか?


LEFT_DOWN 234 1035 295 1 147 280 1228 956 IEFrame http://XXXXXXXXMicrosoft Internet Explorer

コマンドの悪影響を考慮しないで、ウィンドウの定位置移動を行いたいのです。

投稿者 大野忠義 : 2010年04月22日 17:20

要望:プログラム終了後のクリップボードの内容を選択できるようにする
要望度:中 緊急度:低

①プログラム前の内容のままの内容をクリップボードに残す
②プログラムで変更した内容でクリップボードを更新する

なにかしらの方法(設定、別コマンド、コマンドパラメーター等)でクリップボードの内容を
保持or更新の選択をプログラム内からできるようにしてほしい

過去のバージョンでは、更新されていましたが誰か(私でしったっけ?^^)の提案で現仕様になった経緯があります。

両方ともにメリットがあり、使い分けたい場合が私もあります。
私的には現仕様のほうが使いやすいですが、できたら選択できたほうが使い勝手がよいと思います。

投稿者 大野忠義 : 2010年04月22日 11:45

ご回答ありがとうございました。
途中でエディタに書き出ししてみたところ、ご指摘のとおりきちんとコピーされていました。
そうするとやはりjumpの部分かと思うのですが、大変申し訳ないのですが見ていただけますでしょうか。

概要をお話しますと、ログがどんどん溜まるので、最新の行にある文字列が含まれているときだけ、別な操作をさせたいのです。なのでずっとループしてクリップボードの中身をコピーして監視していますが、その文字列が出てきてもスルーしてしまいます。

CBbefore Wait 2000 検索する文字 %Clipboard% dsp
Jump * %Wait% HIT
EmEditor LEFT_DOWN 1607 393 912 1 -4 801 1256 1016 EmEditorMainFrame3 data.txt - EmEditor
LEFT_UP 125 393 912
KEY_DOWN 11 1 407 898 Ctrl
KEY_DOWN 23 1 407 898 End
KEY_UP 23 1 407 898 End
KEY_UP 11 1 407 898 Ctrl
KEY_DOWN 26 1 407 898 ↑
KEY_UP 26 1 407 898 ↑
KEY_DOWN 24 1 407 898 Home
KEY_UP 24 1 407 898 Home
KEY_DOWN 10 1 407 898 Shift
KEY_DOWN 11 1 407 898 Ctrl
KEY_DOWN 23 1 407 898 End
KEY_UP 23 1 407 898 End
KEY_UP 10 1 407 898 Shift
KEY_UP 11 1 407 898 Ctrl
KEY_DOWN 11 1 785 923 Ctrl
KEY_DOWN 43 1 785 923 C
KEY_UP 43 1 785 923 C
KEY_UP 11 1 785 923 Ctrl
Jump Jump CBbefore
HIT LEFT_DOWN 63 760 62 1 0 0

大変お手数ですがよろしくお願い致します。

投稿者 うみおよ : 2010年04月22日 10:06

>うみおよ様
マウスレコーダーを御利用いただきありがとうございます。

■ご質問の件:クリップボードにコピーされない
マウスレコーダーでは、プログラム開始前のクリップボード内容を保証しています。
(プログラム終了時点で、開始前の内容を復元 - 掲示板回答 2010年03月19日 07:04)
よって、終了後にクリップボードを見た場合には、コピーされていないように見えます。
プログラム終了後では無く、プログラム中でのみクリップボードの内容の確認可。
(MsgBoxに%Clipboard%を表示するか、メモ帳などにPaste)
ただし、ご質問の文中では、
「この後クリップボードの中身を判別してjumpなどさせているのですが・・」
とあるので、Jump判定の方に問題があるのかもしれません。
どうしてもうまく行かない場合は、この掲示板に該当プログラムを貼り付けて下さい。
当方にて解析します。

クリップボード内容保証については、ヘルプに判り易い注意書きの説明を追加します。

■追加 ご質問により、キー操作用のマクロに不足を感じました。
次版にて Shift+Home,Shift+End,Ctrl+Shift+Home,Ctrl+Shift+End を追加します。
上記追加により、ご質問のキー操作手順は
 Ctrl+End
 ↑
 Shift+End
 Copy
の4行で記述できるようになります。

投稿者 エムティ・ソフト : 2010年04月22日 08:14

>大野忠義様 

変更点について
7.41:ユーザに殆ど関係しない微細改良(作者用記録)です。
 表示条件:記録「開始」時の"既存のデータは破棄されます。"のメッセージ
 関数パラメータ:123,abc を "123","abc" としての記述も可とする
7.40:検索
 リストを右クリックで表示されるショートカットメニューの2段目に表示。  フォーム構成を参照。
 関数一覧:編集フォーム左下

投稿者 エムティ・ソフト : 2010年04月22日 08:12

すばらしいソフトをありがとうございます。
いくつかキーボード/マウス自動化ソフトを試したのですが、こちらのアプリがダントツに自由度が高く、すばらしいです。
ところで1点質問なのですが、テキストエディタを使って最終行をクリップボードにコピーさせようとしているのですが、コピーしてくれません。
テキストエディタのEmEditor,Windowsのメモ帳を使って試しましたが、
1.マウスクリックでアプリ選択
2.Ctrl+ENDキーで最終行へ
3.↑で1行上へ
4.Shift+Ctrl+Endキーで最終行を選択
5.Ctrl+Cでコピー
というながれで、この後クリップボードの中身を判別してjumpなどさせているのですが、1-4までは問題なくできるのに、5のCtrl+Cだけ実行したあとクリップボードの中身を見てみると選択した文字列がコピーされていません。
EmEditorというテキストエディタは、マクロ機能をもっているので、マクロを登録してショートカット(F4)の押下を試してみましたが、EmEditor単体で実行するとコピーされるのに、マウスレコーダーから実行するとコピーされません。
これは何かコツかなにかあるのでしょうか。
考えられる原因等ございましたらご教授頂ければと思います。
記録の機能を使っての実行なので記述ミスなどはないかと思います。
お忙しいところ恐縮ですが、よろしくお願い致します。

投稿者 うみおよ : 2010年04月21日 22:03

■7.41版 2010/04/21
 改良 記録開始時の既存データ破棄メッセージ表示条件
    関数パラメータ「"」対応

RunTime エラー の件の対応処置なのですか?
改造後の仕様が文面だけではわかりません、どこかに記述がありますか?

■7.40版 2010/04/19
 追加 検索機能追加
    編集フォームに関数一覧表示スイッチ

上記2つとも7.41版にみあたりません><

投稿者 大野忠義 : 2010年04月21日 12:35

>大野忠義様 ウィンドウの有無判定について

IsApExist関数を利用して下さい。

投稿者 エムティ・ソフト : 2010年04月20日 06:46

質問:下記でウィンドウが無い場合、エラーで終了するのですが、事前にウィンドウの有無を知る事はできませんか?
LEFT_DOWN 94 0 0 1 -2 69 1010 746 IEFrame http://xxxxxxxxxxxxxxMicrosoft Internet Explorer

投稿者 大野忠義 : 2010年04月19日 12:15

要望度:低 緊急度:低
■ループ文に「最大繰り返し回数」をいれてほしい

要望理由:①プログラムの簡素化・・・プログラムで変数設定・変数値増加の文が不要になる
      ②プログラムのバグによる無限ループ回避

投稿者 大野忠義 : 2010年04月17日 12:30

サブルーチンを別プログラム化することを考えていました。

投稿者 大野忠義 : 2010年04月15日 05:23

>大野忠義様

■プログラムから別のプログラムの呼び出し

ご質問が漠然としているため、推測で記述します。

A.EXEファイル → 既存可
  処理単位にEXEファイルを作成してAP_Openで複数連続実行可。
  EXEファイルはCloseで自動終了、同期はAP_Waitで可

B.複数のDATを実行 → 検討?
  分割作成したDATを連続実行
  さほど有益では無いかもしれません。A.で代替可

C.EXEを関数として → 検討
  個別EXEが返却値を返して、メインプログラムで判定
  可能性が広がりそうな機能です。
  が、無理すれば既存機能でも可(返却値はファイルなどを利用して実現可)

D.実行プログラム用パラメータ → 検討
  コマンドラインパラメータの一部(実行プログラム向け)を実行プログラムが受け取る。
  これによりEXEファイルの処理を動的に変化させて実行可。
  例:パラメータ   -user_args x1 x2 x3
    参照は共有変数 %user_arg1% %user_arg2% ・・・

投稿者 エムティ・ソフト : 2010年04月13日 08:48

プログラムから別のプログラムを呼び出すことできますか?
簡易にできそうならば、要望としして機能追加お願いします。

投稿者 大野忠義 : 2010年04月12日 15:54

■行編集画面を閉じた時もカーソルなくなっちゃいます
はい、選択行の選択状態のことです。

マウスレコーダーと同種のアプリがいくつかあるみたいですが、プログラムできるのは他にみあたらないみたいです。是非ともここの強みを発揮できるようにエディター機能も強化をお願いします。

■クリップボード
そうだった!!仕様変更だった><
普段よく使用する、文字列をSetClipboardの1行だけのプログラムでディスクトップに置いています。そのような使用方法の場合は6.3版以前のを使用します。
以前の仕様もそれなりにメリットあったっことですね^^
現行の仕様のほうが、他に影響をあたえないので現行のほうがいいとはおもいます。

投稿者 Anonymous : 2010年03月19日 22:10

>ハジメ様

指定時刻に自動実行する方法は、いくつかあります。
1.ウィンドウズのタスク機能
  記録した内容を自動実行するショートカット(またはExeファイル)を作成して、ウィンドウズのタスクスケジューラーに時間を指定して登録
2.PCの見張り番
  「PCの見張り番」を用いて、指定時間後に指定のアプリを起動します。
3.指定時間後にシャットダウン
  「指定時間後にシャットダウン」を用いて、スタンバイ(または休止)、指定時刻に復帰、指定のアプリを起動、が可能です。
4.指定時刻までWait
  マウスレコーダーのWait機能を利用して指定時刻まで待ちます。
  下記のサンプルコードをダウンロードしてマウスレコーダーで実行して見て下さい。
  サンプルコード

投稿者 エムティ・ソフト : 2010年03月19日 07:35

>大野忠義様

■行編集画面を閉じた時もカーソルなくなっちゃいます
「カーソルが無くなる」というのは、マウスカーソルの事では無く、「編集前に選択していた行の選択状態が解除される」という意味でしたら、対処します。

■クリップボード
変数でも即値でも、SetClipboadは機能しているようですが。。
下記が検証コード。ダウンロード後に実行して見て下さい。
検証コード
なお、プログラム終了時に、クリップボードの内容は開始前の状態に戻ります。
(ユーザー様からの依頼により改良 6.30版 2010/01/19)

投稿者 エムティ・ソフト : 2010年03月19日 07:04

記録した作業を、指定した時間に実行させる事は出来るでしょうか。

投稿者 ハジメ : 2010年03月19日 02:39

障害報告:クリップボードに直接(変数でなく)入力できない

SetClipboard abc
以前はクリップボードに直接に文字を代入できたのですが、変数じゃないと代入できなくなっています

投稿者 大野忠義 : 2010年03月18日 15:59

【GetPixel使用法】・・・了解
GetPixelは、コマンドではなく関数だったんですね><
それで、編集のeventになかったんですね^^
理解しました。

投稿者 大野忠義 : 2010年03月18日 09:32

>大野忠義様

■変数の変数指定

できません。


■組込関数 GetPixel

値は%FuncRet% または %GotData% に格納されます。下記のように使用して下さい。

Dim //色10進 Color
組込関数 GetPixel 1230 620
SetVariable %Color% %FuncRet%
MSG_BOX %Color%

ただし、以前にも書きましたが、組込関数は「御蔵入り」予定です。

Dim //色10進 Color
SetVariable %Color% GetPixel(1230,620)
MSG_BOX %Color%

のように、関数を使用することをお奨めします。

補足:上記のコードは下記よりダウンロード可。
 驚くことに、そのまんま選択、マウスレコーダーに直接貼り付け、で、利用できます。
 サンプルコード

投稿者 エムティ・ソフト : 2010年03月18日 07:05

GetPixelの使い方がわかりません
Dim //色10進 Color
組込関数 GetPixel 1253 620 %Color%
MSG_BOX %Color%

msgボックスは空白になってしまいます

投稿者 大野忠義 : 2010年03月17日 12:50

変数名を変数で指定できますか?

例えば、%宛先%で変数名指定して次の行の変数名を指定する


SetVariable 0 %宛先% 東京
SetVariable 0 %%宛先%% 4

SetVariable 0 %東京% 4

で、①② ともに同じ結果になるような

できなかったら、特に要望としてはあげませんが^^

投稿者 大野忠義 : 2010年03月17日 12:08

>大野忠義様

エクセル制御の利点
・他のアプリを共に利用できる可能性がある。
・外部から操作するので、エクセル自体の操作をしなくて済む。
・エクセル自体にプログラム(VBA)を組み込まなくて良い。
 (純粋に数式とデータだけのブックで済ますことも出来る)
ただし、機能的には、エクセルのVBA(WindowsAPIを駆使した場合)以上のことは出来ません。
また、現在のところ、マウスレコーダーのエクセル関連コマンドは少な過ぎて、あまり役には立たないでしょう。

投稿者 エムティ・ソフト : 2010年03月10日 08:48

エクセルではまだマウスレコーダー使用していないのですが

現在、エクセルのプロシージャーのみでプログラムを作っています。
・マウスレコーダーでしか実現できないこと
・マウスレコーダーを使用したほうがプロシージャより便利なこととかあったら教えてください。

投稿者 大野忠義 : 2010年03月09日 12:39

御要望の件

■色要素分解関数追加
 下記を追加しました。6.60版
  分解関数 GetRValue(color) GetGValue(color) GetBValue(color)
  合成関数 RGB(r,g,b)
 参考 サンプルリスト(GetPixelPoint)

■自作の関数
 なかなか難しいですが、出来そうではあります。
 次版、もしくは次々版にご期待下さい。

■メモリーが開放されていない件
 GetPixelに不備がありました。6.60版でお試し下さい。

投稿者 エムティ・ソフト : 2010年03月07日 07:15

>大野忠義 様

■マウス移動による停止の解除
「手動マウス操作による停止」をオフにしてからExeファイルを作成して下さい。
 [ツール]→[設定]→[動作] [手動マウス操作による停止]
基本的に、現在の設定状態がExeファイルにも引き継がれます。

注意:「conf.txt」が同じパスに在ると、そちらを優先します。
 Exeを実行するパスには、基本的に「conf.txt」を置かない様に!
 (Exeの動作を変えたい時は「conf.txt」が役に立ちます。)

投稿者 エムティ・ソフト : 2010年02月19日 07:43

exeファイル実行中、マウスを動かしたら中断してしまいます、中断しない方法を教えてください

投稿者 大野忠義 : 2010年02月18日 15:23

■Exeファイル
ほんあとだーーねぼけて書いていたので勘違いしてました、すいませんでした
■色抽出コマンド
やったーーー これでまた、プログラム組みやすくなります^^
関数追加でなく、GetPixelPointの機能アップですね^^
xyの位置書き込まないといままでのといっしょの機能ってことですね・・・・意外とxyなしの場合でてくるかもしれませんしね(超レアケースとは思いますが)
たとえば以下みたいに
(10秒後にうごかした位置の色を変数に組み込むプログラム)

wait 10000
組込関数 //色取得 GetPixelPoint
SetVariable //色コード→%Color% %Color% %FuncRet%
SetVariable %ランク% 6

投稿者 Anonymous : 2010年02月18日 11:50

>大野忠義 様

■Exeファイル
Exeファイル実行中はタスクトレイに収納され、邪魔にはならない筈なのですが・・・
邪魔になる位置に表示されるのでしょうか?

■色抽出コマンド
了解。関数としても追加します。
なお、ポインタの移動(MV)は不要です。
組み込み関数(GetPixelPoint)の mouse-x,y に位置を記述(変数可)すれば自動的にポインタは移動します。

投稿者 エムティ・ソフト : 2010年02月18日 08:42

要望:色抽出コマンド追加

MV //ポインタ移動 %4RANK区分位置X% %4RANK区分位置Y%
組込関数 //色取得 GetPixelPoint
SetVariable //色コード→%Color% %Color% %FuncRet%
SetVariable %ランク% 6

と4行つかってるのですがどうせ変数にしちゃうのだから
***********************************
SETPixelPoint %X軸% %Y軸% %対象変数%
***********************************
のようなコマンドほしいです


投稿者 大野忠義 : 2010年02月18日 07:14

要望・・・・exeファイル実行のときマウスレコーダー自体が大きすぎで少しじゃま、小さくすると再生ボタンがみえなくなってしまうし・・・・
exeじゃないときはデバックしながらやるので現状がいいです

投稿者 大野忠義 : 2010年02月18日 01:37

>大野忠義 様

Q1.exeファイルで中断した場合、プログラム内容が見えてしまうのですが。
 プログラム内容を見えなくする方法とかありませんか?
A1.暗号化して下さい。
 「設定」→「その他」「記録データの暗号化」をオンにした状態でEXE作成

Q2.マウスレコーダー本体がなくても動きますか?
A2.動作します。

Q3.exeファイルの配布をしていいですか?
A3.EXEファイルの配布は自由です。
  (その為に、EXEファイルでの記録は出来ないようになっています。)

投稿者 エムティ・ソフト : 2010年02月08日 15:48

exeファイルについて

・マウスレコーダー本体がなくても動きますか?
・exeファイルの配布をしていいですか?

投稿者 大野忠義 : 2010年02月08日 13:44

exeファイルで中断した場合
プログラム内容が見えてしまうのですが。
プログラム内容を見えなくする方法とかありませんか?

投稿者 大野忠義 : 2010年02月08日 13:37

EXEファイルだけ別のフォルダに移動していました・・・・絶対位置に修正したら正常に動きました
障害でなくプログラムミスでした><

投稿者 大野忠義 : 2010年02月08日 13:31

>大野忠義 様

PlaySoundに関して色々と検証してみたのですが、同エラー現象を確認できませんでした。
EXEファイルを作成した時の、本体とWAVファイルの相対位置関係が、EXEファイルとWAVファイルとの間でも保たれていれば、正常動作を確認しました。
もちろん、EXEファイルだけ別のフォルダに移動するとエラーとなりますが・・
(絶対パスで指定している場合は、EXEファイルの位置には関係しません)
EXEファイルとWAVファイルの位置関係、および、PlaySoundで指定したファイル名の記述を教えて頂けないでしょうか?
お手数をお掛けしますが、よろしくお願いします。

投稿者 エムティ・ソフト : 2010年02月06日 08:24

障害報告・・・・緊急度:低
PlaySoundでマウスレコーダーのフォルダ上の音源の場合

・マウスレコーダー本体での再生>>正常に鳴る

・EXEファイルからの再生>>WAVファイルがないと判断してエラーで終了してしまう


投稿者 大野忠義 : 2010年02月05日 07:58

補足:マウス/キー関連マクロについて

マウス、キー操作を短く記述する為に以下のようなマクロ(命令の組み合わせ)を用意しています。

マウスマクロ: LeftClick,MiddleClick,RightClick(ダブルクリックはそれぞれを2回発行するだけなので省略)
キーマクロ: Tab,Enter,←,↑,→,↓,Copy,Cut,Paste,その他のよく使うキーの組み合わせ(回数指定)

投稿者 エムティ・ソフト : 2010年02月04日 05:40

>大野忠義 様

■exeファイル実行中
 wait命令中にプログラムの実行自体を解除する方法

方法1:タスクトレイのアイコンをダブルクリック → 処理終了
方法2:停止のホットキー(既定はPause)を押す → 表示状態 →「停止」クリック

投稿者 エムティ・ソフト : 2010年02月03日 12:09

exeファイル実行中
wait命令中にプログラムの実行自体を解除する方法はありませんか?

**** 1時間後に電源落とすプログラム 
wait 3600000
poweroff
****

のような時マウス動かしてもだめです><

ps>1ライセンス版を購入させてもらいました
他2台のパソコンの処理は10分以内なのでお試しで使わせてもらっています。

投稿者 大野忠義 : 2010年02月03日 11:38

>大野忠義 様

■マウスポインタの変化について
質問は、文脈からポインタ位置の変化では無く、その形状変化についてだと推察します。
申し訳ありません。現在のところ、マウスポインタの形状を(簡単に)判定する方法は判りません。
ポインタイメージは別のレイヤにあり、そこが、マウスポインタをキャプチャーする場合に、皆が苦労する点でもあります。

そもそも、どのような用途があるのでしょうか? (・・それにより調査への熱の入れ方が・・(*^.^*)・・)

投稿者 エムティ・ソフト : 2010年01月25日 08:06

マウスポインタが変化したことを検知しる方法はありませんか?

GetPixel マウスポインタの変化を検知できないかと試したところ。

GetPixelはMV してGetPixelPointしているみたいなので、マウスポインタ自体変化してしまうので使用できませんでした。

投稿者 大野忠義 : 2010年01月24日 16:26

>早川津富 様

PC起動時に自動実行するコマンドラインパラメータの例を下記に示します。
これは、「xxxx.dat」を自動実行、および自動終了します。

-a xxxx.dat -close

   -a :自動実行
   -close:自動終了(マウスレコーダーを終了する)
   \ は円記号(¥)

ショートカットに上記のコマンドラインパラメータを設定して、
「スタート」→「全てのプログラム」「スタートアップ」にコピーすれば、PC起動(実際にはログイン)時に自動実行されます。
または「タスク」に登録・・この方法は少しややこしいので、ここでは説明省略
なお、ショートカットでのコマンドラインパラメータの使用方法は下記(シャットダウンツール)を参考にしてください。
   0 コマンドラインパラメータの使用法がわかりません

投稿者 エムティ・ソフト : 2009年10月21日 15:34

pc起動時にマウスレコダ-立ち上がり自動的
に記録ファイルが動作して(アプリを立ち上げて仕事をして終了)そしてマウスレコダ-画面から消す。  カッコの部分はこちらが記録

マウスレコダ-立ち上がり自動的に記録ファイルが動作して-----マウスレコダ-が画面から消えるプログラムを作成してもらえませんか、作成していただけるなら作成金額もお知らせ願いませんか、よろしくお願いします。

投稿者 早川 津富 : 2009年10月21日 09:23

エムティ・ソフト様

連日のご対応ありがとうございました。

希望通りの処理ができるようになりました。
大変助かります。

今後ともよろしくお願いいたします。

投稿者 ヒデヤン : 2009年10月16日 09:47

>ヒデヤン様

HTMLにおいて、Idは重複してはいけません。 要素識別子: id属性とclass属性
とは言うものの、Idをクラス代わりに使って重複させているWebページが存在するのも事実。
そこで、下記のような仕様とします。
Id¥value (valueはalt、titleでも可)
¥記号でIdとvalueを区切る。
5.90版としてアップしました。お試し下さい。
右がテストページ 「Id,vlalue組み合わせ」テストページ

投稿者 エムティ・ソフト : 2009年10月15日 07:16

エムティ・ソフト様

早速のご対応ありがとうございます。
修正版で一部解決できたところもありますが、元々のWebサイトの作りが良くないため、希望通りに対応できない部分もあります。

■対応できない部分
複数の設問でラジオボタンを使っているのですが、valueがどの設問も1~5のように数字を使っています。

そのため、value指定でラジオボタン選択をすると、最初にそのvalueを持つラジオボタンを選択してしまいます。

たとえば、設問5の選択肢5を選択したい場合でも、設問1の選択肢5を選択してしまいます。

とりあえず最初に作った通り、設問5の最初の選択肢をクリック後、valueの数字の回数だけ[→]キーを入力することで、現時点では対応しておきます。

他に対応策があるようなら教えていただけると助かります。

よろしくお願いします。

投稿者 ヒデヤン : 2009年10月14日 13:35

>ヒデヤン様

IE入力でのValue指定の件
これは、不具合です。
5.81版として対処しました。お試し下さい。
仕様としては、Id,name,value,alt,title の優先順位で検索します。
今後も、よろしくお願いいます。

投稿者 エムティ・ソフト : 2009年10月14日 07:51

エムティ・ソフト様

お世話になっております。ヒデヤンです。
先日は、ご対応ありがとうございました。

1点、新たなご相談なのですが、IE入力でRadioやCheckboxにチェックを入れたい時に困っています。

マウスレコーダーの仕様では、
コントロール名に対して"1"(選択)/"0"(解除)と指定します。

ただ、自動入力させたいWebでは、下記コードのように選択肢の数だけ同じコントロール名があり、VALUEで区別するようになっています。

(例)
<input type=radio name="SEI" value="MAN" checked>男性
<input type=radio name="SEI" value="FEMALE">女性

この場合、IE入力を使っても最初の選択肢しか
選択ができません。

仕方なく、最初の選択肢を選択後、[→]キー入力で対応する選択肢を選択させています。
※IEの読込状況によるのか→で動かずに次の処理に行ってしまうことも少なくありません。

希望する仕様としては、
IE入力で指定したコントロール名に対して、指定したVALUEを持つ選択肢を選択できるようにしていただきたいと思っています。

上のコード例で言えば、
IE入力 SEI FEMALE
のように指定すれば、女性にチェックが入るようにしていただきたいです。

お手数おかけしますが、ご検討いただけないでしょうか?
よろしくお願いいたします。

投稿者 ヒデヤン : 2009年10月13日 15:13

エムティソフト様

ご多忙の中、ありがとうございました。

マウス操作、キー操作、
REGとCSVの関係などもよく分かりました。

まだ設定は完成してはいませんが
随分見通しが明るくなりました。

またよろしくお願いします。

(先ほど名前なしで投稿しました、再投稿です、すみません・・・)

投稿者 takahashi : 2009年09月30日 07:18

>takahashi様

返事が遅くなったことをお詫びします。ご質問への回答

Q1.マウス操作とキー操作の2種類ありますが、どう違いますか?
A1.マウス操作の場合、画面のフィールド位置や形状が変化する場合は誤動作します。
   (Webページや、自動で画面サイズ/フィールド形状を自動設定するアプリなど)
   キー操作の場合は、基点さえ決まればフィールドを特定することが出来ます。

Q2.LoadRegは REG1=3 のREG1は具体的にはどこを指しますか?
   3という数字の意味は何ですか?
A2.Sample3 では REG1 をレコード番号の初期値として使用しています。
   6行目の 「LoadReg REG1 3」は、レコード開始番号を3とする処理です。
    レコード番号:CSVをExcelで開いた時の行番号と考えて下さい。
    フィールド番号:同、列番号

Q3.エラー表示されてしまいます。
A3.指定のレコード/フィールド番号が存在しない時は、エラーとなります。
   2行しかない場合、レコード番号に3以上を指定するとエラー
   2列しかない場合、フィール祖番号に3以上を指定するとエラー

Q4.REG1% %CsvRecordCnt% ST
A4.レコード番号がレコード数以下の場合に繰り返す(STにジャンプ)場合は、
   Jump   >=%REG1% %CsvRecordCnt%  または
   Jump   %REG1%

今後も、よろしくお願いします。

投稿者 エムティ・ソフト : 2009年09月26日 10:03

お世話になります。

画期的なツールありがとうございました!

早速自分の作業で使用しようと
サンプルのスプリクトを参照して
やってみましたがうまくいきませんでした。

大変初歩的な質問で非常に恐縮ですが、
よろしくお願いします。

やりたいこと。

CSVファイルまたはエクセルファイルの
A,B列に書かれた文字を
別のアプリケーションの2ヶ所に
A1,B1
A2,B2
A3,B3
と言う風に記入していきたい。

*具体的にはsample3のような作業です。

sample3は
マウス操作とキー操作の2種類ありますが
どう違いますか?

それから
LoadRegは REG1=3
とはじめに指定されていますが、
同じように指定して

GetCsvData %REG1% 1
文章入力 %GotData%
!
GetCsvData%REG1% 2
文章入力 %GotData%
と入力してもエラー表示されてしまいます。

LoadRegは REG1=3
のREG1は具体的にはどこを指しますか?
3という数字の意味は何ですか?

また、
CSVまたはエクセルデーターの
1行目が終わったら
OKボタンの後に
2行目に進みたいのですが
サンプルのように、

AddReg --レコード番号アップ REG1 1
Jump --総レコード数以下 → ST >=%REG1% %CsvRecordCnt% ST

とやっても2行目が始まりません。。

そもそも、REGの意味が分かっておらず、
指定がおかしいのかもしれません。

大変お手数ですが
よろしくご回答お願いします。


投稿者 takahashi : 2009年09月18日 12:46

10倍速の方が、速く動作します。

投稿者 エムティ・ソフト : 2009年08月26日 06:07

再生速度は10倍速と1/2倍速ではどちらが速いのですか?

投稿者 NEO : 2009年08月25日 21:38

>ヒデヤン様
ありがとうございます。
ご指摘の件に付き、いろいろ試しているのですが、まだ「実行時エラー'9'」を発生させることが出来ません。
代わりに、恥ずかしながら、別のエラーを見つけることは出来ましたが・・
  (実行時エラー'381' - MVのみ表示後、全てのMVを削除して実行すると発生 - 対処)
申し訳ありませんが、「実行時エラー'9'」の発生手順を、もう少し詳しく教えていただけないでしょうか?
ややこしいようでしたら、メールにて使用DATファイル含めて教えていただけると助かります。
お手数をお掛けしますが、なにとぞ、よろしくお願いします。

投稿者 エムティ・ソフト : 2009年08月14日 05:27

はじめまして。IEの自動入力等でマウスレコーダーを活用させていただいております。

1つご報告ですが、編集画面で選択行を削除した後に実行すると、よく次のエラーが発生してマウスレコーダーが終了してしまいます。

----------------------------
実行時エラー '9':

インデックスが有効範囲にありません。
----------------------------

最新バージョンを入れなおしても同様でした。
今後の修正をご検討いただけないでしょうか?

よろしくお願いいたします。

投稿者 ヒデヤン : 2009年08月13日 13:50

>新太郎 様

以下のような感じで、画像変化を検知時に音を鳴らすことが出来ます。
-----------------------------------
  WaitImgChange6                    !画像変化を待つ
  Jump   %GotData% = "time out" ED      !タイムアウト
  AP_Open     1000             xxx.mp3 !音楽演奏
ED
-----------------------------------

実際のコード例は下記を参照

実際のコード例


なお、OS組込機能で音楽演奏する機能を追加します(5.30版)

名前:PlaySound
パラメータ:
  サウンドファイル名(WAV形式のみ)
  繰り返し回数

の形式

これにより、簡単に演奏でき、使用するプレーヤーの後始末も不要になります。

今後もよろしくお願いします。

投稿者 エムティ・ソフト : 2009年08月05日 15:42

はじめまして、現在試用版を使わせていただいています。
このマクロソフトですが私はネットゲームに利用しようと考えています。
単純なクリックのみのブラウザーゲームなんですがマクロ確認というチート対策班がいて通常のマクロだと机の前に居続けて定期的に監視する必要がございます。
そこでマクロ確認があった場合(画像変化するのですが)メディアプレイヤーを開くなどして音を鳴らして知らせるなどのプログラミングは可能でしょうか?

投稿者 新太郎 : 2009年08月05日 09:38

>souta様

監視間隔を1000ミリ秒(1秒)としています。よって、その整数倍または整数分の1の周期での点滅では監視を潜り抜けてしまいます。これはマズイですね。
そこで、監視間隔を300ミリ秒~1000ミリ秒の間のランダムな数値になるように改良いたします。
早ければ28日、遅くとも29日に、当サイトにてリリース致します。
お待ち下さい。

投稿者 エムティ・ソフト : 2009年06月26日 08:18

>エムティ・ソフト様

ご丁寧にありがとうございます
上げていただいた項目の中に
まさに合致する項目がありました

・変化が点滅-監視と点滅の周期が一致する場合

まさにこれで、監視対象は赤と青の点滅を繰り返しています
時報と合わせた所、その周期はちょうど1秒であると思われます
(0.5秒毎に色が入れ替わる)
解決にはどのようにすればいいでしょうか・・・聞いてばかりで申し訳ないですが


マウスポインタの座標の件は了解しました
丁寧なご説明感謝いたします

投稿者 souta : 2009年06月26日 07:43

>sonta様

・画像変化を検知できない件
 可能性は以下が考えられます
  ・変化部分が監視枠の外
  ・変化が点滅-監視と点滅の周期が一致する場合
  ・変化が微小-色圧縮していますので変化色が微小の場合は不可
 想定動作が出来ない場合、監視開始と変化後の画像(スクリーンショット)およびDATファイルをメール添付で送って頂ければ助かります。(mt-soft@jcom.home.ne.jp)

・マウスポインタ座標
 左上隅を(0,0)とした絶対座標です。
 ピクセル単位なので、解像度やモニターの設定には依存しないはずです。
 よって、常に全画面サイズで表示される場合は、問題無いと思われます。
 ただし、内部のコントロール位置を、画面サイズに応じて自動配置する場合は異なります-Webブラウザのような動作)

 なお、監視対象アプリ自身が「画面中央」などのように相対的に位置指定している場合は、監視位置が異なってきます。この場合、記録操作において、対象アプリの表示完了後に、タイトルバーをクリックします。これにより、表示位置(サイズ)を記憶し、解像度が変わっても強制的に一定の絶対座標位置に移動(リサイズ)します。

投稿者 エムティ・ソフト : 2009年06月26日 06:24

>エムティ・ソフト様

早速のご返信ありがとうございます
二重投稿、ご迷惑をおかけしました

早速ご教授いただいた通りに組み込んだ所
ある程度想定通りの動作を確認出来ました
ありがとうございます

ある程度、というのは、時折画像が変わっているのにも関わらず
変化なしとしてスルーされる事があるからなのですが・・・
指定範囲を拡大してみたりポイントの位置を変えたり試行錯誤してみています

ところでこのマウスポインタの座標なのですが
これは画面の左上を0.0とした絶対座標として取得しているのでしょうか
というのも、複数のPCで同じソフト/マクロの使用を想定しており
解像度やモニターの設定が異なっても同じファイルで
同じ動きを再現出来るなら非常に助かるからなのですが・・・

なお対象ソフトはその特性上
左右幅は必ず画面いっぱい、上下のサイズは固定
そして表示位置も画面最上部or最下部と決まっています


ともあれ想定通りに動かせそうなので、明日明後日にでもライセンスの購入をさせていただきます
これからもよろしくお願いいたします

投稿者 souta : 2009年06月25日 21:57

>souta様
WaitImgChange後の判定について
下記の  %GotData% = "time out" ジャンプ先
のように記述して下さい。
(比較文言中に半角スペースが在る時は、必ずダブルクォートで括る)
下記の例では、"time out"の時は、Nにジャンプします。

001     WaitImgChange 3000 243 443
002     Jump  //変化無し?  %GotData% = "time out"   N
003 CHG MSG_BOX      変化しました。
004     Jump         END
005 N     MSG_BOX         変化無し!
006 END

空白で無いという意味で %GotData% <> ""
でも結構です。

追伸:再送コメントは削除させていただきます。

投稿者 エムティ・ソフト : 2009年06月25日 14:13

はじめまして
5.24をダウンロードし、現在試用させていただいております
今想定しているマクロが組めれば、ライセンスキーの
購入を予定しております

そこでお尋ねしたいのですが、画像変化による条件分岐はどのように処理を組めば可能でしょうか?
画像監視だけでは画像変化の待機しか出来なかったようなので・・・

時間内に画像の変化があった場合となかった場合で分岐したいのですが
あった場合はそのまま処理実行でいいとして、なかった場合
WaitImgChangeメニューだけで出来るのかどうか・・・

%GotData% に格納された引数time outを使って通常のJumpで出来るかとも思ったのですが
条件式の書き方がわからずお手上げになってしまいました

もしかしたらもの凄く初歩的な事なのかもしれませんが(汗
ご教授いただければ幸いです

投稿者 souta : 2009年06月25日 12:39

>maetel様
ありがとうございます。
今後も、よろしくお願い致します。

投稿者 エムティ・ソフト : 2009年06月20日 06:09

申し訳ありません。
自己解決しました。

投稿者 maetel : 2009年06月20日 00:24

本日MouseRecorderを購入させて頂きました。
ありがとう御座います。
お尋ねですがアプリ立上げとかの「Event」って何処にあるんでしょうか?

投稿者 maetel : 2009年06月20日 00:01

>moddy様
確かに、Firefoxで表示させてみたところ、まともには表示されませんね。試しに、他のブラウザ(Google Chrome , Opera , Safari)で表示してみると正常でした。Firefoxの仕様に合っていないのか、未対応なのか、この方面の知識にも疎いので、当ページを変更することは出来そうにありません。申し訳ありません。

投稿者 エムティ・ソフト : 2009年05月13日 15:53

※マウスレコーダ機能に関する質問ではないので恐縮なのですが、 ここの URL を指定して Firefox(3.0.8) で読もうとすると全く別のページ内容が表示されてしまいます。
Firefox は使えないのでしょうか。

投稿者 moddy : 2009年05月13日 11:43

エムティ・ソフト様 V4.90 ありがとうございます。バッチ等いろいろ幅広く活用できそうです。モジュ-ル化もそろそろ欲しくなってきた機能で、いいですね。サンプル集も充実してきて、私でも解かりやすくなってきました。勉強、活用挑戦させてもらいます。今後ともよろしくです。

投稿者 谷口 : 2009年04月25日 09:48

>yuumaru様 
・CSVからのIE入力
 → imageボタンの場合も、定義されているIdと"click"を記述します。Idが定義されていない場合は、valueの値でも可。(alt、titleでも指定できるよう改良予定)
・ファイルからの入力文言、のダイアログボックスの最下部にある、5~の数字
 → すっかり忘れていました。これは、各列の表示幅の指定です(半角文字数換算)実際の文字には影響しません。マウスを乗せると、ヒントがポップアップ表示されます。ただ数値が多い場合に異常終了するので修正します。

投稿者 エムティ・ソフト : 2009年03月22日 09:12

エムティ・ソフト様
度々のご回答をいただきありがとうございました。
セキュリティ面では、心配が残るので保護は外さないようにしようと思いました。
そこで、サイトにあらかじめアクセスし、開いているフォームに対し、EXCELのCSVのデータを入力できればと思い今いろいろと試させていただいております。

そこで、質問なのですが、画像でできている送信ボタンを押すようにCSVで指定するにはどのようにすれば良いのでしょうか?

また、ファイルからの入力文言、のダイアログボックスの最下部にある、5~の数字が出るリストボックス(?)がありますが、それは何を意味しているのでしょうか?
この数字を触ると、CSVファイルから読み込まれた文字列が短くなり切れてしまったり、また切れているものが表示されるようになったりします。
10以上は指定できませんが、それは試用版だからでしょうか?

ヘルプを参照しても探しきれず、申し訳ありません。
よろしくお願いいたします。

投稿者 yuumaru : 2009年03月21日 22:55

>yuumaru様 IE起動の件:ありがとうございます。保護モードをオフにするのは、さすがに一般的にはお奨めできないので、何らかの方法を検討中です。  URLをリストから読み込む件:既存の複数のWebページを巡回チェックするような時には必要な機能ですね。さっそく検討してみます。既存機能だけでは出来ませんので新しい追加機能となります。

投稿者 エムティ・ソフト : 2009年03月18日 04:38

エムティ・ソフト様

ご回答ありがとうございました。
こちらで色々調べた結果、
IEの[ツール]-[インターネットオプション]-[セキュリティ]の、『保護モードを有効にする』というチェックを外すと、VistaでもIEが立ち上がるようになりました。
セキュリティが弱くなるようですが、信頼できるサイトを開くのなら大丈夫かなと思っています。

一つ質問があるのですが、EXCELでURLの一覧を作ってあり、それを順にIEで開いて、ある一定時間操作を待つようにして、また閉じる、というのを一覧にあるURLに対して行うような場合は、どのように記述すればよろしいのでしょうか?

サンプルの解説を拝見したところ、URLを固定で指定する方法は分かったのですが、そのURL自体をEXCELから読み込んでくることはできるのでしょうか?

お手数をお掛けいたしますが、よろしくお願いいたします。


投稿者 yuumaru : 2009年03月17日 16:29

>右往左往様 (1)表示文字列によるボタンクリック:まさしく、次の版で追加する予定の機能でした。ClickByNameの名のコマンドとします。3/18リリース予定
  (2)ウィンドウ内の相対位置指定について:現在、考慮中です。ただ現在でも、ウィンドウ位置は、起動時だけでなく、ウィンドウをクリックした時(タイトルやフォーム内)にも情報(ウィンドウの上下左右座標、クラス名、タイトル名)として記録されます。再生すると、ウィンドウがクリックされた時点で強制的にウィンドウ位置とサイズは記録時の状態にリセットされます。

投稿者 エムティ・ソフト : 2009年03月17日 08:00

GetCheck関数 等の実装ありがとうございました。動作確認いたしました。すみませんが以下のようなことはどうやれば実現できるのでしょうか?(1)あるソフト上にボタンがいくつかあり、そのボタンを押したい。XY位置で指定ではなく、OKや再試行等のボタン表記名で指定したい。ウィンドウタイトルとコントロールの表示文字はあると思います。(2)すでに開かれたアプリの左上位置を指定位置(XY)に移動させる。起動時には指定できるようですが、起動後の移動がわかりませんでした。

投稿者 右往左往 : 2009年03月16日 14:55

>yuumaru様 ご迷惑をお掛けします。IEでのアクセス拒否は、Vistaの強化されたセキュリティ機能によるものと推測します。たぶん、IEを直接起動することを許していないのかも知れません。対処したいところですが、恥ずかしながら、Vistaでの開発環境が無いため、現在できません。申し訳ありません。近日中に、開発環境を整備したいと思います。

投稿者 エムティ・ソフト : 2009年03月15日 07:27

マウスレコーダをダウンロードさせていただきました。
まずサンプルからと思い、IE関連の自動処理について再生を行いましたが、アクセス拒否と表示され、止まってしまいます。
使用環境がVistaであることが原因なのでしょうか?
Vistaでは未検証とおっしゃってるのに、このような質問をさせていただくのも申し訳ないのですが、よろしくお願いいたします。

投稿者 yuumaru : 2009年03月15日 01:23

>吉田様 たしかに、スクリーンセーバーパスワード解除画面で、マウスのみ空しく動きますね。キー入力は受け付けないようです。引き続き調査をして見ますが、セキュリティの観点から考えると当然の仕様にも思えます。

投稿者 エムティ・ソフト : 2009年02月21日 06:53

マウスレコーダーでスクリーンセーバのパスワードロックを解除することは可能なのでしょうか?

exeをタスクで自動起動させたのですが、スクリーンセーバ上をマウスが空しく動いております。。

投稿者 吉田 : 2009年02月20日 18:41

>わんこずき様 EXCELで置換や数式を用いて編集できます。    
1.マウスレコーダーのデータをすべてコピー(リスト上で右クリック→全て選択→コピー)  
2.Excelに貼り付け(シート先頭のセルA1)  
3.置換や数式を使って編集  
4.シート全体をコピー  
5.マウスレコーダーに新規状態で貼り付け  
具体的には、右記URLを参照 http://mt-soft.sakura.ne.jp/web_dl/petit_tool/mrecorder/faq/edit.htm

投稿者 エムティ・ソフト : 2009年02月18日 10:46

記録後にtimeを10に一括変更することはできますか?

投稿者 わんこずき : 2009年02月17日 21:03

>ばいのん様 ご利用いただきありがとうございます。「ブレークポイント」の設定:停止したい行を選択し、「再生」ボタンの右下にあるチェックボックスをオンにします。再実行は「再生」ボタンをクリックするか「F5」キーを押します。「F8」で1ステップずつ実行。詳しくは右記リンク 
http://mt-soft.sakura.ne.jp/web_dl/petit_tool/mrecorder/frame/other.html

投稿者 mt-soft : 2008年11月06日 06:33

初めまして。便利に使用させていただいております。
ところで、昨日紹介にブレークポイントの設定が出来る旨の記述がありますが、具体的にどうやって設定するのでしょうか?
こちらの想定&希望は、希望の場所で途中で処理が止まり、人間が画面の変化を確認した後に何かキーを押すと続きから処理が進むという感じがいいのですが…

投稿者 ぱいのん : 2008年11月06日 00:24

【試用期間中の制限事項】

試用期間の日数制限はありませんが、機能が少し制限されます。 
 
・連続再生時間・・ 10分  
・記録ステップ数・・ 3000ステップ 
 ・CSVフィールド数 ・・ 10フィールド、10レコード  
・記録データの暗号化・・試用版は不可  
・Exeファイルの実行環境限定 ・試用版は不可  
           
ライセンスキーの入力で、下記に機能拡張  
・連続再生時間・・ 無制限  
・記録ステップ数・・ 99999ステップ  
・CSVフィールド数 ・・ 255フィールド、99999レコード    
本件は、同梱の「読んでね.txt」またはヘルプ/
Webページの「試用・ライセンスキー」に記載されています。

投稿者 mt-soft : 2008年10月23日 16:32

すいません。マウスレコーダーのフリー版とシェアウェア版の違いは、全般的に(機能など)どのような違いがあるのでしょうか?

投稿者 Anonymous : 2008年10月23日 09:55

>G様 可能です。ライセンス版は実際の再生時間制限はありません(100時間は単なる目安)。理論的には24,855日を超えた時、オーバーフローすると思います。

投稿者 mt-soft : 2008年10月20日 04:09

数ヶ月単位で連続稼働したいのですが、100時間以上連続稼働できないのでしょうか?

投稿者 G : 2008年10月20日 01:11

>トラスさま Vistaでもダウンロードは出来ます。動作も問題無いと思います。

投稿者 エムティ・ソフト : 2008年09月20日 07:09

ビスタではダウンロードできませんか?

投稿者 トラス : 2008年09月19日 21:07

マウスレコーダーを大変便利に使わしてもらってます。
マウスの軌道画面(例:00001MV 31 11 973 373)が表示されている画面で複数選択はできないでしょうか?
それと複数選択した状態で一括編集はできないでしょうか? 
必要ないところを削除して
速度アップがしたいのです。
よろしくお願いします。

投稿者 とよかわ : 2008年04月16日 11:02

コメントしてください




保存しますか?

投稿者 mt-soft : 07:40

(書式を変更するような一部のHTMLタグを使うことができます)