|
こんにちは。
>> "さん"などを返したいとは思うのですが、特殊な話になってしまうと思うので これ
>> で十分です。
> 「さん」はテンプレートに直接書けば済むので、良いとして
いえ、そうでもないですが...。
たとえば、
ほげほげさんという総務部の部長がいたとします。
名前と所属と役職の組み合わせを考えたとき、以下の場合があります。
ほげほげ部長@総務部
ほげほげ@総務部
ほげほげ部長
ほげほげ
xxxxxxxx@zzz.co.jp
このとき、尊称である"部長"と"さん"は両方使うべきではないので、
ほげほげ部長@総務部
ほげほげ@総務部 さん
ほげほげ部長
ほげほげ さん
xxxxxxxx@zzz.co.jp さん
としたいわけです。
テンプレート側で判別はできないと考えているので、どうしようかなあとおもってい
る訳です。
こんな変更を考えてみましたが、オリジナルに付加して個人使用することをお許し下
さい。
ついでに入れた自分の出したメールの場合の処理がコードに埋められてしまっている
のが今ひとつですが....。
(SearchTag.mac)---------
ChangeTag:に追加
else if($$1 == "%r_from_adrbookname%")call r_from_adrbookname;
r_from_adrbookname:
$$myadr = "xxxx@yyyy.co.jp xxxx@aaaa.ne.jp";
$$r_from = dllfuncstr("RootHeader","From");
$$r_adr = dllfuncstr("SetEmailOnly",$$r_from);
$$onlyname = dllfuncstr("FindBook",$$r_adr);
// アドレス帳から捜した名前だけ
$$yakushoku = dllfuncstr( "FindBookNote2", $$r_adr);
// 役職
$$shozoku = dllfuncstr( "FindBookNote", $$r_adr);
// 所属
if( strstr( $$myadr, $$r_adr ) != -1 ){ // 自分宛は省く
return "xxxxxxxxxxxxxxx";
}
else if( strlen( $$onlyname ) == 0){//アドレス帳で名前が見つけられない
call r_from_name2;
return $$return + "さん" ;
}
else{
if( strlen($$yakushoku) == 0){
if( strlen($$shozoku) == 0){
return $$onlyname + " さん" ;
}
else{
return $$onlyname + "@" + $$shozoku + " さん" ;
}
}
else{
if( strlen($$shozoku) == 0){
return $$onlyname + " " + $$yakushoku;
}
else{
return $$onlyname +$$yakushoku+ "@"+$$shozoku;
}
}
}
問題は宛先が複
>数個書いてあった場合ですね。
後述の%to_adr%の場合でしょうか。
$$name = dllfuncstr( "CurrentHeader", "To" );
#n = dllfunc("CountEmailList", $$name);
while( #cnt < #n ){
$list = dllfuncstr("GetEmailList",$name,#cnt);
…
}
を使って複数個カンマ区切りで羅列すればいいのでは!?
私は同様のマクロを、ツールバーを押したときに実行するようにしてあります。宛先
はエディタウインドウを開いたあとに記入するので。
To: ほげほげ部長@総務部
あああ@人事部 様
Cc: いいい主任
ううう 様
といった感じで挿入させています...。
>http://homepage3.nifty.com/iranoan/tmp/SearchTag.LZH
>に置きました。解凍して出来る SearchTag.mac を既存のファイルと置き換え
ありがとうございます。
早速落として使わせて頂きます。
|
|