キー操作再生の指定回数実行についてNo.14674
かずあ さん 03/05/16 17:13
 
こんにちは、かずあです。
キー操作を指定回実行するいい方法はありますか?

一応今は、指定回実行するためにキー操作をマクロに保存を
してそのマクロを指定回数実行するマクロ(下記参照)で実
行しています。しかし、キー操作が変わるたびにマクロを保
存し直すのでうまくありません。

<質問>
現在のキー操作をマクロで取得できますか?
または、それ以外でいい方法をありますか?
よろしくお願いします。

************************
’マクロを複数回実行するマクロ
$str = input("回数を入力してください","2");
#cnt = val($str);
while(#cnt >0 ){
#cnt =#cnt -1;
if(!result) endmacro;
execmacro "n.mac";
}
************************

[ ]
RE:14674 キー操作再生の指定回数実行につNo.14677
秀丸担当 さん 03/05/16 18:54
 
>キー操作を指定回実行するいい方法はありますか?

これは、やはり一度手動で保存するしか手はありません。
キー操作の保存をするマクロ文があるとできるかも…
実はPLAY;というのもありますが…

[ ]
RE:14677 キー操作再生の指定回数実行につNo.14680
かずあ さん 03/05/16 20:23
 
>>キー操作を指定回実行するいい方法はありますか?
>
>これは、やはり一度手動で保存するしか手はありません。
そうですが、残念です。

>キー操作の保存をするマクロ文があるとできるかも…
そのマクロ文か、キー操作を指定回数実行する機能がバージョンアップで可能になれ
ばなぁ。

>実はPLAY;というのもありますが…
マクロのヘルプでは、”パラメタで指定されたWAVファイルを再生します。”
あるのですが、キー操作の再生とは違いますよね。

[ ]
RE:14680 キー操作再生の指定回数実行につNo.14681
山紫水明 さん 03/05/16 21:06
 
 かずあさん,こんばんは。

》>実はPLAY;というのもありますが…

 もしかしたら replay のことかも知れません。

 たとえば,Ctrl + D に行削除を割り当ててあるとすると,そのかわりに以
下のマクロを割り当てて実行してみます。
 続けて実行すると,1回目と2回目は違った動作をすると思います。(その
間他のキー操作はしない)

//---------------------------------------//
if( !replay ) #n = 1;
else #n = val( input("回数") );
if( #n == 0 ) endmacro;
while( #n ) {
    deleteline;
    #n = #n - 1;
}
endmacro;
//---------------------------------------//

 もし,1回目と2回目の間に何らかの操作(カーソル移動など)を入れて,
実行したいということであればもう少し工夫が必要でしょう。

     では, (^^)/~
                                        山紫水明

[ ]
RE:14681 キー操作再生の指定回数実行につNo.14682
かずあ さん 03/05/16 23:42
 
こんばんは、山紫水明さん
replayというのがあるんですね。参考になります。ありがとうございます。
しかし、キー操作で記録してできるマクロで繰り返したのです。
1回目と2回目の間に何らかの操作(カーソル移動など)がはいるのでやはり、キー
操作を記憶し、マクロに保存してやるしか
ないですよね・・(?_?)。

> かずあさん,こんばんは。
>
>》>実はPLAY;というのもありますが…
>
> もしかしたら replay のことかも知れません。
>
> たとえば,Ctrl + D に行削除を割り当ててあるとすると,そのかわりに以
>下のマクロを割り当てて実行してみます。
> 続けて実行すると,1回目と2回目は違った動作をすると思います。(その
>間他のキー操作はしない)
>
>//---------------------------------------//
>if( !replay ) #n = 1;
>else #n = val( input("回数") );
>if( #n == 0 ) endmacro;
>while( #n ) {
>    deleteline;
>    #n = #n - 1;
>}
>endmacro;
>//---------------------------------------//
>
> もし,1回目と2回目の間に何らかの操作(カーソル移動など)を入れて,
>実行したいということであればもう少し工夫が必要でしょう。
>
>     では, (^^)/~
>                                        山紫水明

[ ]
RE:14682 キー操作再生の指定回数実行につNo.14683
山紫水明 さん 03/05/17 08:14
 
 かずあさん,こんにちは。

》しかし、キー操作で記録してできるマクロで繰り返したのです。
》1回目と2回目の間に何らかの操作(カーソル移動など)がはいるのでやはり、
》キー操作を記憶し、マクロに保存してやるしかないですよね・・(?_?)。

(1)ini ファイルを利用する方法もあるでしょう。
 まず,次のようなマクロを作ります。

//----- Repeat.mac ----------------------------------//
$inifile = hidemarudir + "\\MyMacro.ini";
$macro = getinistr($inifile, "Repeat.mac", "macro");
#n = val( input("回数") );
if( #n == 0 ) endmacro;
disabledraw;
while( #n ) {
    execmacro $macro;
    #n = #n - 1;
}
endmacro;
//-------------------------------------------------//

(2)ついで実行したいコマンドに対応するマクロを必要なだけ作ります。

//------ Delete.mac ------------------------------------------//
$inifile = hidemarudir + "\\MyMacro.ini";
deleteline; //ここだけ書き換える
writeinistr $inifile,"Repeat.mac", "macro", currentmacrobasename;
endmacro;
//-----------------------------------------------------------//

(2)のマクロを実行後に(1)のマクロを実行すればいいでしょう。

     では, (^^)/~
                                        山紫水明

[ ]
RE:14681 キー操作再生の指定回数実行につNo.14684
ひろ さん 03/05/17 09:28
 
 今日は、ひろです。
> >実はPLAY;というのもありますが…
> マクロのヘルプでは、”パラメタで指定されたWAVファイルを再生します。”
> あるのですが、キー操作の再生とは違いますよね。
 もちろん違います。wav ファイルの再生の方は小文字になっていますよね。

 ここでの PLAY は内部的に使用している文で、実在します。しかし秀丸では
複数のマクロを同時に実行できないので、マクロ・ソースに書き込んでも意味
がないという落ちです。

[ ]
RE:14683 キー操作再生の指定回数実行につNo.14697
秀丸担当 さん 03/05/19 18:45
 
>》しかし、キー操作で記録してできるマクロで繰り返したのです。
>》1回目と2回目の間に何らかの操作(カーソル移動など)がはいるのでやはり、
>》キー操作を記憶し、マクロに保存してやるしかないですよね・・(?_?)。

理想どおりにするためには、手動でマクロを保存するしか方法は無いと思います。

山紫水明さんの示されているマクロは、カーソル移動などは記録できず、
1つのコマンドしかできないのでは?

[ ]
RE:14684 キー操作再生の指定回数実行につNo.14698
秀丸担当 さん 03/05/19 18:45
 
> ここでの PLAY は内部的に使用している文で、実在します。しかし秀丸では
>複数のマクロを同時に実行できないので、マクロ・ソースに書き込んでも意味
>がないという落ちです。

その通りでした。
まぎらわしいことを書いて申し訳ありません。

[ ]
RE:14697 キー操作再生の指定回数実行につNo.14701
山紫水明 さん 03/05/19 21:00
 
 秀丸担当さん,こんばんは。

》山紫水明さんの示されているマクロは、カーソル移動などは記録できず、
》1つのコマンドしかできないのでは?

 どうも要望の趣旨を理解してなかったようです。実は,今でもよくわかって
いませんが。(+_+)
 直前に実行した任意のコマンドを,そのあと任意の回数だけ繰り返し実行し
たいということだと思っていました。

     では, (^^)/~
                                        山紫水明

[ ]
RE:14682 キー操作再生の指定回数実行につNo.14711
山紫水明 さん 03/05/20 22:39
 
 かずあさん,こんばんは。

》しかし、キー操作で記録してできるマクロで繰り返したのです。

 どうも,とんでもない誤解をしていたようで失礼しました。キー操作で記録
した一連のコマンドでしたね。
 これをやろうとすると,キー操作の段階からマクロで処理することになりそ
うです。もちろん直接にはキー記録はできませんので,擬似的にコマンドを記
録していくことになります。
 いちおうはやってみたのですが,代替になるかどうか・・・。

     では, (^^)/~
                                        山紫水明

[ ]