|
アルビレオです。
>》せっかくなので、置換を使う方法にこだわってみます。(この方が高速?)
>
> 初志貫徹ですね(^^;
私もマクロで書くならカーソルで挿入するように考えていたのですが、山紫水明
さんのマクロを見たら思ったよりも行数が多かったので置換の方がスッキリする
かな?と書いてみました。(^^;
いろいろ試してるうちにループを完全になくせることに気づいて「これは速くな
りそうだ」と投稿することにしました。
優さんのコメントでは対象が千行ほどあるということだったので。
> 最初の置換で,桁折り幅によっては行数が変化する可能性があるのでその
>処理が必要ではないでしょうか。
うわ、さすがにそこまでは気づきませんでした。
変更箇所が複数あるので、もう一度全部書いておきます。
--------ここから
if(selecting == 0 || rectselecting == 1){
message "範囲を選択してから実行してください";
endmacro;
}
disabledraw;
#stx = seltopx;
#sty = seltopy;
moveto selendx,selendy;
if(column != 0) movetolineno 1, lineno+1;
#endline = lineno;
moveto #stx,#sty;
beginsel;
movetolineno 1, #endline;
replaceallfast "^.{10}\\f.{10}\\f..\\f..\\f..\\f..\\f.{10}", "\\0,\\1,\\2,\\
3,\\4,\\5,\\6,",regular,inselect;
moveto #stx,#sty;
beginsel;
movetolineno 1, #endline;
replaceallfast "[^,]{15}\\f.\\f.\\f.\\f..", "\\0,\\1,\\2,\\3,\\4,",regular,i
nselect;
//----行末のカンマが不要なら、以下は削除----
moveto #stx,#sty;
beginsel;
movetolineno 1, #endline;
replaceallfast "$", ",",regular,inselect;
--------ここまで
|
|