|
ちゅんさん,山紫水明です。
1番会議室から移りました。
本格的な複数ファイル置換マクロは,ひろさんのがライブラリにあったと思い
ますが,手軽なものを書いておきますので,試してください。正規表現などの複
雑な置換はだめです。
//------------------------------------------------//
// 複数ファイルのまとめて置換するマクロ
// 目的のファイルの一つを開いて実行
// 1行目はオプションで書き換え可能
#ask = 0; //1:途中確認する 0:しない
$s = input( "検索文字列は?" );
if( $s == "" ) endmacro;
$r = input( "置換文字列は?" );
if( $r == "" ) endmacro;
$folder = input( "指定フォルダは", directory );
if( $folder == "" ) endmacro;
$ext = input( "ファイルの拡張子は", ".txt" );
if( $ext == "" ) endmacro;
$file0 = filename;
#handle0 = hidemaruhandle( 0 );
grep $s, "*" + $ext, $folder, regular, filelist;
replaceallfast "\\([0-9]+\\)\\n", "\\n", regular;
#handle_g = hidemaruhandle( 0 );
#c = linecount2 - 1;
gofiletop;
while( #i < #c ) {
golinetop2;
beginsel;
golineend2;
$f = gettext( seltopx, seltopy, selendx, selendy );
openfile $folder + "\\" + $f;
#handle1 = hidemaruhandle( 0 );
replaceallfast $s, $r;
if( #ask ) {
question "保存しますか?";
if( result ) save;
} else save;
#i = #i + 1;
setactivehidemaru #handle_g;
closehidemaruforced #handle1;
movetolineno 1, lineno + 1;
}
openfile $file0;
closehidemaruforced #handle_g;
if( #ime ) imeswitch;
message "終わりました。\n" + str(#i) + " 個のファイルを置換しました。";
endmacro;
//------------------------------------------------//
では, (^^)/~
|
|