|
うさぎさん今日は、Iranoan です。
念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> 元のメール(受信メール)のTo:ヘッダが、
> To:Aさん<hoge@hoge>,自分<zzz@zzz>,Bさん<abc@xyz>
> の場合、このメールに対する返信テンプレーで$(SetNameOnly,$(RootHeader,"To"))
> を指定すると"Aさん"だけが
> 結果として引用されますが、ここで"Aさん,自分,Bさん"という
> 引用(アドレス抜きで)をするためにはどうすればいいでしょうか。
まず
> $(SetNameOnly,$(RootHeader,"To"))
の部分を、
$(ExecMacro,"make2.mac")$-
$(RootHeader,"To")
としてください。そして、末尾の内容を make2.mac という名前で、マクロ用
フォルダに保存してください。マクロ用フォルダ等マクロについての詳細は、
ヘルプを御覧ください。なおマクロの仕様は次の通りです。
(1) 返信元の To ヘッダのうち名前部分だけ取り出す
(2) From と一致しているアドレスは除外
(3) 複数のアドレスは「,」で区切る
(4) 取り出した名前の最後には「さん」を付加
//--------------------------------- make2.mac ------------------------------
---------
#x = x;
#y = y;
loaddll "tkinfo.dll";
disabledraw;
gofiletop;
#reg_search = searchmode;
$search = searchbuffer;
#search = searchoption;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "SelectFound",1;
envchanged;
closereg;
$to = dllfuncstr( "RootHeader", "To" );
$from = dllfuncstr( "SetEmailOnly", dllfuncstr( "CurrentHeader", "From" ));
searchdown2 $to;
delete;
if( !#reg_search ){
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "SelectFound",#reg_search;
envchanged;
closereg;
}
setsearch $search, #search;
#j = dllfunc("CountEmailList", $to );
while( #i < #j ){
if( dllfuncstr( "SetEmailOnly", dllfuncstr("GetEmailList", $to, #i ) ) !=
$from ){
$tmp = dllfuncstr( "SetNameOnly", dllfuncstr("GetEmailList", $to, #i ) );
$name = $name + ", " + $tmp + "さん";
}
#i = #i + 1;
}
freedll;
insert rightstr( $name, strlen( $name ) - 2 );
moveto #x, #y;
|
|