各行の一部に連番を振りたい。No.00174
v..v さん 98/07/03 00:28
 
v..v@秀丸初心者です。

教えてください。
内容の変わらない複数行に連番を振りたいと思うのですが、
うまくできません。
行番号をそのまま文字列のなかに取り込めると、ありがたいのですが。

作業前    作業後
'abc '    'abc 1'
'abc '    'abc 2'
'abc '    'abc 3'
'abc '    'abc 4'

どなたか教えてください。

[ ]
RE:00174 各行の一部に連番を振りたい。No.00175
番頭++ さん 98/07/03 11:21
 
>内容の変わらない複数行に連番を振りたいと思うのですが、

//  番号を付けたい、その行にカーソルを置いてこのマクロを実行して下さい。
//  test1.mac
    if( code == 0x0D ){ endmacro;   }
    golinetop2;
    beginsel;   golineend2;
    $str_line = gettext(seltopx,seltopy,selendx,selendy);
    escape; golinetop2; left;
    #number = 1;
    call pp_rep1;
    while( result ){
        #number = #number + 1;
        call pp_rep1;
    }
endmacro;
pp_rep1:
//  $number = " " + rightstr("..."+str(#number),3); //  3 桁 ... <== space
    $number = " " + rightstr("00000"+str(#number),5);   //  5 桁
    replacedown "^" + $str_line + "\\n", $str_line + $number +"\n", regular, inselect;
return;
//  end of macro

aaa ==> aaa 00001
aaa ==> aaa 00002
bbb ==> bbb
ccc ==> ccc
aaa ==> aaa 00003

こういう事が希望ですか ...

[ ]
RE:00175 各行の一部に連番を振りたい。No.00176
v..v さん 98/07/04 23:30
 

>>内容の変わらない複数行に連番を振りたいと思うのですが、
>
>//  番号を付けたい、その行にカーソルを置いてこのマクロを実行して下さい。
>//  test1.mac
>
>こういう事が希望ですか ...

正にこのような事をしたかったのです。
ありがとうございます。大幅に時間が軽減できました。

[ ]