新規メール送信時のマクロ文字列No.09355
ぱと さん 02/10/09 15:34
 
とあるフォルダのテンプレートの設定で、返信にこんな設定をしてあります。

$(FindBook2,$(RootHeader,From)) 様 ($(SetEmailOnly,$(RootHeader,From)))

例えば、

From:純ちゃん <pm@foo.go.jp>

なんてメールが来たとしても、アドレス帳を引きなおしてくれて、

内閣総理大臣 小泉純一郎 様 (pm@foo.go.jp)

などと変換してくれるというわけです。これを新規メールでも行う手段は無いで
しょうか? 新規メールなので、RootHeader,From が使えないわけですので、ここ
に、今から送ろうとするメールの to を指定できるというようなマクロ文字列は
ありますか?

----
ぱと

[ ]
RE:09355 新規メール送信時のマクロ文字列No.09356
MAKOPI さん 02/10/09 16:24
 
こんにちは。MAKOPIです。

>などと変換してくれるというわけです。これを新規メールでも行う手段は無いで
>しょうか? 新規メールなので、RootHeader,From が使えないわけですので、ここ
>に、今から送ろうとするメールの to を指定できるというようなマクロ文字列は
>ありますか?
$(RootHeader,From)を$(CurrentHeader,To)に変えればよさそうですけど。

[ ]
RE:09356 新規メール送信時のマクロ文字列No.09357
ぱと さん 02/10/09 16:31
 
MAKOPI さん

>>しょうか? 新規メールなので、RootHeader,From が使えないわけですので、ここ
>>に、今から送ろうとするメールの to を指定できるというようなマクロ文字列は
>>ありますか?

>$(RootHeader,From)を$(CurrentHeader,To)に変えればよさそうですけど。

さっそくありがとうございます。ばっちり上手くいきました。

----
ぱと

[ ]
RE:09357 新規メール送信時のマクロ文字列No.09379
ぱと さん 02/10/10 16:25
 
自己コメントです。

$(FindBook2,$(CurrentHeader,To)) 様 ($(SetEmailOnly,$(CurrentHeader,To)))

これまで、あまり積極的にアドレス帳を使ってこなかった私ですけど、新規メー
ルに上記のようなテンプレートを使い始めたことで、丁寧にアドレス帳への登録
を行うようになりました。

以前のやりとりで、アドレス帳の「備考(1)〜(3)」などもテンプレートやマクロ
で使えるマクロ文字列を設定するような拡張を行う予定であるという話題があっ
たように記憶してますが、これができるようになると、個々のメールアドレスと
テンプレートを関連付けるということができないままでも、かなりそれに近いこ
とができるようになりますね。

----
ぱと

[ ]
RE:09379 新規メール送信時のマクロ文字列No.09382
秀まるお2 さん 02/10/10 18:58
 
>以前のやりとりで、アドレス帳の「備考(1)〜(3)」などもテンプレートやマクロ
>で使えるマクロ文字列を設定するような拡張を行う予定であるという話題

 僕の記憶によると、この辺の話で出てきたのが、

 FindBookNote
 FindBookNote2
 FindBookNote3

 の3つの関数です。備考1〜3をマクロから参照できるようにしただけでして、
それ以上の、たとえば備考部分をマクロから書き換えるとか、そもそもマクロで
アドレス帳を操作する物は何も考えてないです。

 アドレス帳の書き換えをマクロでやるとなると、たとえば同じアドレスが複数
のグループに登録されてる場合なんかも考えないといけないのでかなり面倒そう
な気がします。

[ ]
RE:09382 新規メール送信時のマクロ文字列No.09383
ぱと さん 02/10/11 09:39
 
秀まるお2 さん

>>以前のやりとりで、アドレス帳の「備考(1)〜(3)」などもテンプレートやマクロ
>>で使えるマクロ文字列を設定するような拡張を行う予定であるという話題
>
> 僕の記憶によると、この辺の話で出てきたのが、
>
> FindBookNote
> FindBookNote2
> FindBookNote3
>
> の3つの関数です。

今確認してみましたら、既に実装されていたんですね。よく確認しないまま発言
してしまって、ごめんなさい。

私の場合、マクロを自分で組むということもなく、せいぜい、テンプレートで、
これらのマクロ文字列を使うぐらいですので、現状の仕様で十分遊べます。

----
ぱと

[ ]
RE:09357 新規メール送信時のマクロ文字列No.09384
MAKOPI さん 02/10/11 13:41
 
Toが複数ある場合も対応したい場合は、以下のマクロでお願いします。

-------- 宛名挿入.mac ---------------------------------
loaddll "TKInfo.dll";
if( !result )
    endmacro;

disabledraw;            // 描画禁止
moveto 0, 0;            // 本文先頭に移動

#ToMax = dllfunc("CountCurrentHeader","To");        // Toヘッダ数
#ToCount = 0;
while(#ToCount < #ToMax)
{
    //// Toヘッダ分繰り返し
    $AddrssList = dllfuncstr("CurrentHeader2","To",#ToCount);
   
    #ListMax =  dllfunc("CountEmailList", $AddrssList);
    #ListCount = 0;
    while(#ListCount < #ListMax)
    {
        //// アドレス数分繰り返し
        $Address = dllfuncstr("GetEmailList", $AddrssList, #ListCount);
        $Name = dllfuncstr("FindBook2",$Address);
        $EmailAdd = dllfuncstr("SetEmailOnly",$Address);
        insert $Name + " 様 " + "(" + $EmailAdd + ")";  // 宛名挿入
        insertreturn;                                   // 改行挿入
        #ListCount = #ListCount + 1;                    // 次のアドレス
    }
    #ToCount = #ToCount + 1;                            // 次のTo
}

enabledraw;            // 描画許可
endmacro;
-------- ここまで ---------------------------------

テンプレートの
$(FindBook2,$(CurrentHeader,To)) 様 ($(SetEmailOnly,$(CurrentHeader,To)))
の部分を
$(ExecMacro,"宛名挿入.mac")$-
に差し替えてみてください。

[ ]
RE:09384 新規メール送信時のマクロ文字列No.09387
ぱと さん 02/10/11 15:42
 
MAKOPI さん

>Toが複数ある場合も対応したい場合は、以下のマクロでお願いします。

わざわざありがとうございます。

>テンプレートの
>$(FindBook2,$(CurrentHeader,To)) 様 ($(SetEmailOnly,$(CurrentHeader,To)))
>の部分を
>$(ExecMacro,"宛名挿入.mac")$-
>に差し替えてみてください。

テンプレートで、マクロ起動を行えるなんて知りませんでした! やろうと思って、
スキルさえあれば本当にいろんなことができるんですねえ。

----
ぱと

[ ]