|
山紫水明さん、秀まるおさん
お忙しいところ、ありがとうございました。
今しがた、ご教示頂いたマクロを合体させました。
秀丸エディタ上で試したところ、いい感じです。
(PriceWrapping.mac)
ただし、秀丸メールのメール一覧上から動かそうと
過去の例を参考にトライ中ですが、こちらはなぜか
// 2 文中の単価
以降の置換が、空白になります。
(価格整形.mac)のどこをミスしているのでしょうか?
もう少し、お付合い下さいませんか?
//-----------元データ-----------
[合計お見積り金額]
<現金書留の場合>
査定商品合計 \28,001
通信買取手数料(現金書留) \ -600
キャンペーン買取金額アップ \1,000
合計お見積り金額 \28,401
----------------------------------------
<銀行振込の場合>
査定商品合計 \28,001
通信買取手数料(銀行振込) \ -400
キャンペーン買取金額アップ \1,000
合計お見積り金額 \28,601
//-----------元データ-----------//
//----------- 置換後 -----------//
[合計お見積り金額]
<現金書留の場合>
査定商品合計
通信買取手数料(現金書留)
キャンペーン買取金額アップ
合計お見積り金額
----------------------------------------
<銀行振込の場合>
査定商品合計
通信買取手数料(銀行振込)
キャンペーン買取金額アップ
合計お見積り金額
//----------- 置換後 -----------//
Windows 7 Home Premium 64bit
秀丸メール Ver.5.72β8
秀丸エディタ Ver.8.11β6
//------------------------------------------------//
//PriceWrapping.mac
//価格整形
//メール内の価格表記\99 を\ 99に整形
setcompatiblemode 0x0100;
disabledraw; //画面書き換え禁止
gofiletop;
golinetop;
// 1 行頭の単価
replaceallfast "^\\\\([0-9,]{1})( ){8}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{2})( ){7}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{3})( ){6}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{4})( ){5}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{5})( ){4}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{6})( ){3}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{7})( ){2}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{8})( ){1}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{9})( ){0}", "\\\\ \1 ", regular;
gofiletop;
while( 1 ) {
searchdown "\\\\[0-9, -]+$", regular;
if( !result ) break;
while( x < 28 ) insert " ";
}
// 2 文中の単価
replaceallfast "\\\\([0-9, -]{1})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{2})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{3})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{4})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{5})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{6})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{7})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{8})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{9})$", "\\\\ \\1", regular;
enabledraw; //解除
endmacro;
//------------------------------------------------//
//------------------------------------------------//
//価格整形.mac
//価格整形
//メール内の価格表記\99 を\ 99に整形
setcompatiblemode 0x0F;
loaddll "TKInfo.dll";
if( !result ) {
message "このマクロは秀丸メールで実行してください。";
endmacro;
}
disabledraw; //画面書き換え禁止
if( dllfunc("IsHidemaruMailMain") ) {
#count = dllfunc("SelectedMailCount");
if( #count != 0 ) {
#n = dllfunc("LockSelection");
while(1) {
#n = dllfunc("EnumSelection", 1);
if( #n == 0 ) {
break;
}
#n = dllfunc("BeginEditMail");
call ReplaceSub;
#n = dllfunc("SaveEditMail", 0, 1);
#n = dllfunc("SetMailFlag", "altered", 0);
}
#n = dllfunc("UnlockSelection", 1);
enabledraw; //解除
exit; //編集画面を閉じます
endmacro; //マクロを終了
endmacroall; //マクロを終了
}
} else {
#n = dllfunc("EnableEdit");
call ReplaceSub;
#n = dllfunc("AlterSave"); //改変保存します
#n = dllfunc("SetMailFlag", "altered", 0); //改変マークはOFF
}
enabledraw; //解除
exit; //編集画面を閉じます
endmacroall; //マクロを終了
ReplaceSub:
#browse = browsemode;
if( #browse ) {
browsemodeswitch;
}
#readonly = readonly;
if( #readonly ) {
readonlyswitch;
}
//-------//
disabledraw; //画面書き換え禁止
gofiletop;
golinetop;
// 1 行頭の単価
replaceallfast "^\\\\([0-9,]{1})( ){8}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{2})( ){7}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{3})( ){6}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{4})( ){5}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{5})( ){4}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{6})( ){3}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{7})( ){2}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{8})( ){1}", "\\\\ \\1 ", regular;
replaceallfast "^\\\\([0-9,]{9})( ){0}", "\\\\ \1 ", regular;
gofiletop;
while( 1 ) {
searchdown "\\\\[0-9, -]+$", regular;
if( !result ) break;
while( x < 28 ) insert " ";
}
// 2 文中の単価
replaceallfast "\\\\([0-9, -]{1})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{2})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{3})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{4})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{5})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{6})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{7})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{8})$", "\\\\ \\1", regular;
replaceallfast "\\\\([0-9, -]{9})$", "\\\\ \\1", regular;
enabledraw; //解除
//-------//
if( #browse ) {
browsemodeswitch;
}
if( #readonly ) {
readonlyswitch;
}
return;
//------------------------------------------------//
|
|