送り主の名前を取得するときにNo.09018
水衣 さん 02/09/20 09:13
 
いつもお世話になっています。
メールを返信するときに、本文中に「○○様」と入れたいのですが、
$(SetNameOnly,$(RootHeader,From))$-
これを使うと、場合によって""マークで囲まれてしまって、
本文中に使うときに少し不便です。
今までのものに追加して、""で囲まれないようになっているものも用意してもらえる
とありがたいです。
宜しくお願いします。

[ ]
RE:09018 送り主の名前を取得するときにNo.09029
山紫水明 さん 02/09/20 22:57
 
 水衣さん,こんばんは。

》これを使うと、場合によって""マークで囲まれてしまって、
》本文中に使うときに少し不便です。
》今までのものに追加して、""で囲まれないようになっているものも用意してもら
》えるとありがたいです。

 実装されればそれに超したことはないでしょうが,さしあたり次のようなマク
ロでもやれます。じつは先日,この会議室で勘違いしてアップしたのですが
(#8972),今回はお役に立てるのではと思います。前回のものを少し修正しま
した。

 テンプレートに

$(ExecMacro,"TKSetName.mac")
$(QuotedSelectedRootText2)

と書いて次のマクロをマクロフォルダに置きます。


//----- TKSetName.mac -------------------------------------------//
//アドレス帳から宛先人名を補完

$kugiri = "さん,\n";   //好みに合わせて設定
#len = 4;//名前の長さの初期値(半角で計算),圧縮しない場合は 999
         //姓だけにする場合などに圧縮する

if( imestate ) {imeswitch; #switch = 1;}
#len = val( input( "名前の長さ", str(#len) ) );
if( #switch ) imeswitch;
  //長さを固定する場合は,この3行を無効にする(行頭に「//」を付加)

loaddll "TKinfo.dll";
$toall = dllfuncstr( "CurrentHeader", "To" );
while( 1 ) {
    #a = strstr( $toall, "," );
    if( #a < 0 ) {
        $to = $toall;
        call MakeName;
        break;
    }
    $to = leftstr( $toall, #a );
    $toall = midstr( $toall, #a + 1, strlen( $toall )- #a );
    call MakeName;
}
insert $allname;
endmacro;

MakeName:
  $name = dllfuncstr( "FindBook", $to );
  if( $name == "" ) $name = dllfuncstr( "SetNameOnly", $to );
  if( leftstr( $name, 1 ) == "\"" )
          $name = midstr( $name, 1, strlen( $name )- 2 );
  if( strlen( $name ) > #len ) $name = leftstr( $name, #len );
  $allname = $allname + $name + $kugiri;
return;
//------------------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:09029 送り主の名前を取得するときにNo.09033
水衣 さん 02/09/20 23:22
 
山紫水明さん、ありがとうございます。

 せっかくいただいたマクロなんですが、ちょっと特殊なMLを使用しているので、
名前をアドレス帳に登録できないんです。具体的に言うと、ダミーのアドレスが表示
され、でも差出人の名前はちゃんと表示されるというものです。なので、Fromに記入
されている名前を取得できるとありがたいと思いました。
 でも、いまのマクロを参考にして、ちょっとがんばってみようと思います。どうも
ありがとうございました。

[ ]
RE:09033 送り主の名前を取得するときにNo.09043
山紫水明 さん 02/09/21 07:58
 
 水衣さん,こんにちは。

》 せっかくいただいたマクロなんですが、ちょっと特殊なMLを使用しているの
》で、名前をアドレス帳に登録できないんです。

 書き忘れていましたが,アドレス帳にない場合は,表記された名前を取得し
て,引用符がある場合にはそれを除去するするようにしています。

     では, (^^)/~
                                        山紫水明

[ ]
RE:09029 送り主の名前を取得するときにNo.09069
秀まるお2 さん 02/09/22 23:36
 
 本文中に使う時は「""」を除去すべきということで、それを除去する、例えば

 $(RemoveQuote,$(SetNameOnly,$(RootHeader,From)))$-

 のような「RemoveQuote」関数を追加しようかと思います。
 (特に異議が無ければ)

 次のバージョンまでお待ちを。

[ ]
RE:09069 送り主の名前を取得するときにNo.09094
秀まるお2 さん 02/09/24 15:22
 
> $(RemoveQuote,$(SetNameOnly,$(RootHeader,From)))$-

 引用を「Quote」と呼んでしまっているので、別の関数名にします。

[ ]
RE:09069 送り主の名前を取得するときにNo.09175
水衣 さん 02/09/28 10:56
 
返事が遅れまして申し訳ありませんでした。
そのような関数があるととてもありがたいと思います。どうぞよろしくお願いします。

> 本文中に使う時は「""」を除去すべきということで、それを除去する、例えば
>
> $(RemoveQuote,$(SetNameOnly,$(RootHeader,From)))$-
>
> のような「RemoveQuote」関数を追加しようかと思います。
> (特に異議が無ければ)
>
> 次のバージョンまでお待ちを。

[ ]
RE:09175 送り主の名前を取得するときにNo.09180
たるっぱ さん 02/09/28 15:24
 
水衣さん こんにちは。
たるっぱです。

>> 本文中に使う時は「""」を除去すべきということで、それを除去する

>そのような関数があるととてもありがたいと思います。

V2.08で、UnDoubleQuote関数として追加されていますね。

[ ]
RE:09180 送り主の名前を取得するときにNo.09200
水衣 さん 02/09/30 19:02
 
水衣です。

 たるっぱさん、ありがとうございます。関数追加されていたんですね。気づきませ
んでした(^^; 教えていただいて助かりました。

 また、対処していただきました秀まるお2さまにも、この場を借りてお礼申し上げ
ます。ありがとうございました。

[ ]