|
こんにちは、白雲斎です。
多分、大丈夫と思いますが・・・。
バージョン 5.06 でのみ動作確認をしました。
実稼動は、テスト用データで確認をした後に行ってください。
**** これ以降マクロ *******************************************
// “Command”キーの行頭、もしくは、それより上の行にカーソルを置いて
// 実行してください。
if( version < 500 ) endmacro;
// 検索キーワード
$key = "^((Command|Key|X|Y|Time|Type))[0-9]+=(?\\1)";
// キー名を出現順に配列格納
$keyNames[0] = "Command";
$keyNames[1] = "Key";
$keyNames[2] = "X";
$keyNames[3] = "Y";
$keyNames[4] = "Time";
$keyNames[5] = "Type";
#turnback = 5;
//-------------------------------------------------------------
$sb = searchbuffer;
#so = searchoption;
$rb = replacebuffer;
$n = input("開始番号の入力");
if( result == false || $n == "" ) endmacro;
#cmdNum = val($n);
// if( $n != str(#cmdNum) || #cmdNum < 1 )
if( $n != str(#cmdNum) )
{
message "不正な数値の入力!";
endmacro;
}
#i = 0;
disabledraw;
searchdown2 $key, regular, casesense;
while( result )
{
$buff = gettext(seltopx, seltopy, selendx, selendy);
if( $buff != $keyNames[#i] ) goto ERR;
moveto foundendx, foundendy;
beginsel;
gowordend;
if( #i == 0 )
{
insert str(#cmdNum);
golinetop2;
left;
if( result && column ) insert "\n";
right;
}
else if( #i == 1 )
{
insert str(#cmdNum);
#cmdNum = #cmdNum + 1;
}
else
{
insert str(#cmdNum);
}
if( #i == #turnback ) #i = 0;
else #i = #i + 1;
finddown;
}
enabledraw;
if(#i) goto ERR;
setsearch $sb, #so;
setreplace $rb;
endmacro;
ERR:
message "キーの検索に失敗!\n\n抜け、重複等をチェックせよ!";
setsearch $sb, #so;
setreplace $rb;
endmacro;
|
|