|
>東京都とかの文字列で、「京都」==>「Kyoto」とかは出来ません。おかしくなります。
// 出来たてであまりデバッグしていません。
//*5 KZ_MtRep1.mac - 1999/09/07 - K.Nakatake
// 連続置換マクロ - 単語 - あくまでも「秀丸」での単語の処理です。
// 置換の対象となるファイルを開いてこのマクロを実行する。
// 置換メタデータファイル ==> directory2 + "\\RepMeta1.txt" - カレントディ
レクトリ。
// タブで区切った単語を指定する。
// 長い文字列をファイルの上部に置か無いとうまく行きません。自動化はシン
ドイ !
// 東京 とうきょう
// 大阪 おおさか
if( code == '\t' ){ endmacroall; } // debug
$searchbuffer = searchbuffer; #searchoption = searchoption;
$str_f1 = filename2;
//T #handle1 = hidemaruhandle( findhidemaru( $str_f1 ) );
//T setactivehidemaru #handle1;
if( ! selecting ){
gofiletop; #x_start = x; #y_start = y;
} else {
#x_start = seltopx; #y_start = seltopy;
}
while( true ){
if( $str_meta1 == "" ){
$str_meta1 = directory2 + "\\RepMeta1.txt";
}
$str_meta1 = input("置換メタデータファイルを指定してください",$str_m
eta1);
if( ( ! result ) || $str_meta1 == "" ){ endmacro; }
//T message $str_meta1;
if( existfile($str_meta1) ){ // ファイルの存在チェック
break;
}
}
$str_f2 = $str_meta1;
if( findhidemaru($str_meta1) == -1 ){
openfile "/h " + $str_meta1; #sw_meta1 = 1;
} else {
#handle2 = hidemaruhandle( findhidemaru( $str_f2 ) );
setactivehidemaru #handle2;
}
gofiletop;
while( code != eof ){
call pp_rword1;
#handle1 = hidemaruhandle( findhidemaru( $str_f1 ) );
setactivehidemaru #handle1;
//T disableinvert; disabledraw;
replaceallfast $wk1, $wk2, word, inselect; // 単語、範囲選択
#handle2 = hidemaruhandle( findhidemaru( $str_f2 ) );
setactivehidemaru #handle2;
}
#handle1 = hidemaruhandle( findhidemaru( $str_f1 ) );
setactivehidemaru #handle1;
if( #sw_meta1 ){
closehidemaruforced hidemaruhandle(findhidemaru($str_f2));
}
moveto 0, #y_start;
enableinvert; enabledraw; title 0;
setsearch $searchbuffer, #searchoption;
endmacro;
pp_rword1:
selectword; $wk1 = gettext(seltopx,seltopy,selendx,selendy); escape;
selectword; right; // 単語
if( code != '\t' ){
message "置換メタデータファイルにタブがありません !";
endmacro;
}
right;
if( code == 0x0D ){
message "置換メタデータファイルが不良です !";
endmacro;
}
selectword; $wk2 = gettext(seltopx,seltopy,selendx,selendy); escape;
selectword; right; // 単語
if( code != 0x0D ){
message "置換メタデータファイルに改行がありません !";
endmacro;
}
if( $wk1 == $wk2 || $wk1 == "" || $wk2 == "" ){
message "置換メタデータは同一、またはおかしいです !";
endmacro;
}
right;
return;
|
|