|
powanさん、こんにちは。
K'zawa/ユーザーです。
>思いとおりに動かすにはマクロをどうすればいいでしょうか?宜しくお願いいたしま
>す。
とにかく動くようにしてみました。
途中で改行していると、取りこぼしてしまいますが…。
// 秀丸エディタV5.00以上
$k1= "【";
$k2= "】";
$ps = "【";
$rs = "】";
$s="@";
if( version < 500 ) {
message "秀丸エディタV5.00未満ではダメ!";
endmacro;
}
call Change_search;
if( selecting ) {
#sel = 1;
#handle1 = hidemaruhandle(0);
copy2;
openfile "/h";
#handle2 = hidemaruhandle(0);
paste;
}
disabledraw;
setclipboard "\x0A";
gofiletop;
#i = 1;
while( 1 ) {
searchdown2 $k1 + "[^" + $k2 + "]+" + $k2 + "|" + $s, regular;
if( !result ) break;
$found=gettext( foundtopx, foundtopy, foundendx, foundendy, 1 );
if($found == $s ) {
#i = 1;
right;
addclipboard "\x0A";
} else {
delete;
insert $ps + str(#i) + $rs ;
addclipboard "("+str(#i)+")"+$found+"\x0A";
#i = #i + 1;
#r = #r + 1;
}
}
if( #r ) {
gofileend;
#x=x; #y=y;
paste;
moveto #x,#y;
while( 1 ) {
replacedown $k1 + "|" + $k2 , "" , regular;
if( ! result ) break;
}
}
if( #sel ) {
if( #r ) {
selectall;
copy;
setactivehidemaru #handle1;
paste;
} else {
setactivehidemaru #handle1;
escape;
}
closehidemaruforced #handle2;
}
call Reset_search;
endmacro;
Change_search: //検索状態を変更
if ( !searchmode ) { // 検索状態を範囲選択に変更
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "SelectFound", 1;
#modechanged = 1;
envchanged;
}
#searchoption = searchoption;
$searchbuffer = searchbuffer;
return;
Reset_search: //検索状態を元に戻す
if ( #modechanged ) {
writeregnum "SelectFound", 0;
envchanged;
closereg;
}
setsearch $searchbuffer, #searchoption;
return;
//-----------------------------------------------------//
|
|