|
> 今、そのマクロを使っているのですが、受信すると
> 受信したメールを全て一巡して書き換えるのですよね。
それとは別に「あとで送信/今すぐ送信」の時に自動実行する用のマクロがあ
ったような気がするんですが…。今探したらありませんでした。失礼しました。
以前ここの会議室に書いた記録を探してみたら、とりあえず「返信メール」の
場合に限っては、テンプレートだけで出来るようです。
$(NoWarningHeaderUpdate)$-
$(SetHeader,To,$(CallByEmailList,FindBook3,$(CurrentHeader,To)))$-
$(SetHeader,Cc,$(CallByEmailList,FindBook3,$(CurrentHeader,Cc)))$-
ってテンプレート命令でいいようです。31479番発言に書いてありますけど。
Pandaさんの使われてるマクロっていうのは、29458番発言で僕が書いたやつの
ようです。
それを改良して送信用メールの中で使えるようにってことになると、以下のよ
うになります。
---------------------------------------------------------
loaddll "tkinfo.dll";
call ConvertHeader "To", ##updated;
call ConvertHeader "Cc", ##updated;
endmacro;
ConvertHeader:
##c = dllfunc("CountCurrentHeader", $$1);
##i = 0;
##updated = ##2;
while( ##i < ##c ) {
$s = dllfuncstr("CurrentHeader2", $$1, ##i);
call ConvertByBook $s;
if( $$return != $s ) {
##n = dllfunc("SetHeader2", $$1, $$return, ##i);
}
##i = ##i + 1;
}
return;
ConvertByBook:
##c = dllfunc("CountEmailList", $$1);
##i = 0;
$$ret = "";
while( ##i < ##c ) {
$$one = dllfuncstr("GetEmailList", $$1, ##i);
$$one = dllfuncstr("FindBook3", $$one);
$$ret = $$ret + $$one;
##i = ##i + 1;
if( ##i < ##c ) {
$$ret = $$ret + ", ";
}
}
return $$ret;
|
|