このメールの全員に新規送信機能No.03449
ab1123 さん 18/05/26 01:15
 
お世話になっております。

受信した(=自分宛にBCCして受信した)メールを選択し、そのメールの宛先情報や、本
文を元にして、新規にメール送信したいのですが、可能でしょうか?

返信扱いにはせず、あくまでも新規送信したいのが希望です。

よろしくお願いします。


[ ]
RE:03449 このメールの全員に新規送信機能No.03452
秀まるお2 さん 18/05/28 09:31
 
 そういう機能は標準では無いですが、マクロを使えば実現できます。

 マクロの例としては以下のようになります。そういう形でどうでしょうか。

 標準機能として対応する機能ということは無いと思うので、マクロでお願いしたい
です。あと、特定の人(一人)に新規メールを送るだけでしたら、メールアドレスの
上でマウス右ボタンを押して出てくるメニューから

    xxxxxx 宛メールの作成

 ってコマンドを実行すればいいです。


-----------マクロの例------------------------------------------
    loaddll "tkinfo.dll";
    $to = dllfuncstr("CurrentHeaderUnited", "To");
    $cc = dllfuncstr("CurrentHeaderUnited", "Cc");
    if( $cc != "" ) {
        $to = $to + ", " + $cc;
    }
    #n = dllfunc("NewMail");
    #n = dllfunc("SetHeader", "To", $to);
    call GoToHeader "Subject:";
    endmacro;

GoToHeader:
    // 特定のヘッダ位置にカーソル移動する
    // call GoToHeader "To:" のように、コロンも含めたヘッダ名を指定して呼び
出す。
    moveto 0, -999;
    golinetop;
    ##len = strlen( $$1 );
    $$1 = dllfuncstr( "ToLower", $$1 );
GoToHeader_Loop:
    if( x == 0 ) {
        insertline;
        insert $$1;
        if( ##len < 10 ) {
            insert leftstr( "          ", 10 - ##len );
        } else {
            insert " ";
        }
        return;
    }
    if( dllfuncstr( "ToLower", gettext( 0, y, ##len, y ) ) == $$1 ) {
        return;
    }
    golineend2;
    down;
    golinetop2;
    goto GoToHeader_Loop;

[ ]
RE:03452 このメールの全員に新規送信機能No.03460
ab1123 さん 18/05/28 17:14
 
秀まるお2様

> そういう機能は標準では無いですが、マクロを使えば実現できます。
>
> マクロの例としては以下のようになります。そういう形でどうでしょうか。


マクロまで記載していただきまして大変恐縮です。
ありがとうございます。
マクロを試します。

> 標準機能として対応する機能ということは無いと思うので、マクロでお願いした
>いです。

ちなみに、目的としては、ある会議体の出席者(Toが100人とかCcが20人とか)を以
前のメールを流用して作成したいという要望でした。
新規に送信というのも、スレッド的に繋げたくないという事情からです。


> あと、特定の人(一人)に新規メールを送るだけでしたら、メールアドレスの上
>でマウス右ボタンを押して出てくるメニューから
>
>    xxxxxx 宛メールの作成
>
> ってコマンドを実行すればいいです。

ご教授ありがとうございます。
こちらも日常の利用で使わせていただきます。

ありがとうございました。
# マクロが動いても動かなくても結果はご連絡します。


[ ]
RE:03460 このメールの全員に新規送信機能No.03461
ab1123 さん 18/05/28 17:22
 
秀まるお2様

>> そういう機能は標準では無いですが、マクロを使えば実現できます。
>>
>> マクロの例としては以下のようになります。そういう形でどうでしょうか。
>
>
>マクロまで記載していただきまして大変恐縮です。
>ありがとうございます。
>マクロを試します。
># マクロが動いても動かなくても結果はご連絡します。

頂いたマクロ、早速試しました。
期待通りの動作です。
ありがとうございました。


[ ]
RE:03461 このメールの全員に新規送信機能No.03462
ab1123 さん 18/05/28 18:07
 
秀まるお2様

>頂いたマクロ、早速試しました。
>期待通りの動作です。

ToとCcが両方ある場合に、CcがToに含まれてしまっていたため、若干修正しました。

ToはToのまま、CcはCcのままにしたかったのです。

ありがとうございました。

-----------------------------

    loaddll "tkinfo.dll";
     $to = dllfuncstr("CurrentHeaderUnited", "To");
     $cc = dllfuncstr("CurrentHeaderUnited", "Cc");
//     if( $cc != "" ) {
//         $to = $to + ", " + $cc;
//     }
     #n = dllfunc("NewMail");
     #n = dllfunc("SetHeader", "To", $to);
     #n = dllfunc("SetHeader", "Cc", $cc);
     call GoToHeader "Subject:";
     endmacro;

 GoToHeader:
     // 特定のヘッダ位置にカーソル移動する
    // call GoToHeader "To:" のように、コロンも含めたヘッダ名を指定して呼び
出す。
    moveto 0, -999;
     golinetop;
     ##len = strlen( $$1 );
     $$1 = dllfuncstr( "ToLower", $$1 );
 GoToHeader_Loop:
     if( x == 0 ) {
         insertline;
         insert $$1;
         if( ##len < 10 ) {
             insert leftstr( "          ", 10 - ##len );
         } else {
             insert " ";
         }
         return;
     }
     if( dllfuncstr( "ToLower", gettext( 0, y, ##len, y ) ) == $$1 ) {
         return;
     }
     golineend2;
     down;
     golinetop2;
     goto GoToHeader_Loop;

[ ]
RE:03462 このメールの全員に新規送信機能No.03465
秀まるお2 さん 18/05/29 09:11
 
 ちなみに僕自身はフォルダ毎設定の「アカウント指定」ページにある「新規メール
時の宛先」に、やりとりする相手のメールアドレスを入れておいて、そのフォルダを
選択してから「新規メール」コマンドを実行する作戦をよく使います。

 (ここのフォーラムへの投稿も)

[ ]
RE:03465 このメールの全員に新規送信機能No.03467
ab1123 さん 18/05/29 14:24
 
こんにちは。

> ちなみに僕自身はフォルダ毎設定の「アカウント指定」ページにある「新規メー
>ル時の宛先」に、やりとりする相手のメールアドレスを入れておいて、そのフォル
>ダを選択してから「新規メール」コマンドを実行する作戦をよく使います。
>
> (ここのフォーラムへの投稿も)

なるほどー、そういう方法もあるのですね。
勉強になりました。
自分の使い方では、あまり細かくフォルダ分けしていないため、その発想はありませ
んでした。
今後試してみたいと思います。

今回はご対応ありがとうございました。


[ ]
RE:03467 このメールの全員に新規送信機能No.03470
ab1123 さん 18/05/30 08:24
 
こんにちは。
先日のマクロを便利に使用しておりますが、欲が出てきてしまいました。

マクロ内に、以下の記述があります。
#n = dllfunc("NewMail");

これを、以下の関数とほぼ同じ動作で、なおかつ返信メールと取り扱われない方法は
無いものでしょうか?
#n = dllfunc("MakeReply");

具体的には以下のヘッダが付加されないメールができあがるとうれしいです。
In-Reply-To:
References:

ご教授いただけますと幸いです。


[ ]
RE:03470 このメールの全員に新規送信機能No.03472
秀まるお2 さん 18/05/30 09:30
 
 実はそっちの方が簡単だし、最初に手元で作ったマクロはそういうタイプでした。

    loaddll "tkinfo.dll";
    #n = dllfunc("MakeReplyCustom", "AllFromWithMe", "");
    #n = dllfunc("DeleteHeaderUnited", "In-Reply-To:");
    #n = dllfunc("DeleteHeaderUnited", "References:");

 になります。

 必要に応じて、Subject:ヘッダを空にしたい場合は

    #n = dllfunc("SetHeader", "Subject:", "");

 とか、メール本文を空にしたい場合は

    gofiletop;
    beginsel;
    gofileend;
    delete;

 とか追加すればいいかと思います。

[ ]
RE:03472 このメールの全員に新規送信機能No.03473
秀まるお2 さん 18/05/30 09:39
 
>     #n = dllfunc("MakeReplyCustom", "AllFromWithMe", "");

 ここは、

    #n = dllfunc("MakeReplyCustom", "All", "");

 の方がいいのかもしれせん。

[ ]
RE:03473 このメールの全員に新規送信機能No.03474
ab1123 さん 18/05/31 09:24
 
秀まるお2様
お世話になります。

頂いたアドバイスを元に、以下の2種類のマクロで試しましたが、どうしても、返信
メールになってしまうようです。
具体的には、送信様エディタのタイトルの左端に"返信"と表示されており、返信メー
ル扱いになっていると推察します。
出来ましたら、アドバイスをお願いいたします。

マクロ1
-----------------------------
    loaddll "tkinfo.dll";
     $to = dllfuncstr("CurrentHeaderUnited", "To");
     $cc = dllfuncstr("CurrentHeaderUnited", "Cc");
//     if( $cc == "" ) {
//         $to = $to + ", " + $cc;
//     }
//     #n = dllfunc("MakeReplyCustom", "AllFromWithMe", "");
     #n = dllfunc("MakeReplyCustom", "All", "");
     #n = dllfunc("DeleteHeaderUnited", "In-Reply-To");
     #n = dllfunc("DeleteHeaderUnited", "References");
     #n = dllfunc("SetHeader", "To", $to);
     #n = dllfunc("SetHeader", "Cc", $cc);
     call GoToHeader "Subject:";
     endmacro;


マクロ2
-----------------------------
    loaddll "tkinfo.dll";
     $to = dllfuncstr("CurrentHeaderUnited", "To");
     $cc = dllfuncstr("CurrentHeaderUnited", "Cc");
//     if( $cc == "" ) {
//         $to = $to + ", " + $cc;
//     }
//     #n = dllfunc("MakeReplyCustom", "AllFromWithMe", "");
     #n = dllfunc("MakeReplyCustom", "All", "");
     #n = dllfunc("DeleteHeaderUnited", "In-Reply-To");
     #n = dllfunc("DeleteHeaderUnited", "References");
     #n = dllfunc("SetHeader", "To", $to);
     #n = dllfunc("SetHeader", "Cc", $cc);
     call GoToHeader "Subject:";
     endmacro;

 GoToHeader:
     // 特定のヘッダ位置にカーソル移動する
    // call GoToHeader "To:" のように、コロンも含めたヘッダ名を指定して呼び
出す。
    moveto 0, -999;
     golinetop;
     ##len = strlen( $$1 );
     $$1 = dllfuncstr( "ToLower", $$1 );
 GoToHeader_Loop:
     if( x == 0 ) {
         insertline;
         insert $$1;
         if( ##len < 10 ) {
             insert leftstr( "          ", 10 - ##len );
         } else {
             insert " ";
         }
         return;
     }
     if( dllfuncstr( "ToLower", gettext( 0, y, ##len, y ) ) == $$1 ) {
         return;
     }
     golineend2;
     down;
     golinetop2;
     goto GoToHeader_Loop;


[ ]
RE:03474 このメールの全員に新規送信機能No.03475
秀まるお2 さん 18/05/31 10:19
 
 「返信」と出てくるのは、実は秀丸メールの内部で「これは返信メールであって、
その返信元はどのメールである」ってことを記憶してるためでして、この情報はマク
ロでは書き換え出来ないです。

 なので、「返信メール」とタイトルが出てくることとはすみませんが変更不可にな
ります。

 送った先に届くメールは普通の新規メールと同じになります。

 一回このマクロ(MakeReplyCustom方式)を作って没にしたのは、その「返信メー
ル」とタイトルが出てくるのを変えようが無かったからです。なので、この「返信
メール」と出てくるのがいやな場合はNewMailする作戦でやるしか無いです。

[ ]
RE:03475 このメールの全員に新規送信機能No.03477
ab1123 さん 18/06/01 10:05
 
秀まるお2様
お世話になっております。

> 「返信」と出てくるのは、実は秀丸メールの内部で「これは返信メールであって、
>その返信元はどのメールである」ってことを記憶してるためでして、この情報はマ
>クロでは書き換え出来ないです。
>
> なので、「返信メール」とタイトルが出てくることとはすみませんが変更不可に
>なります。
>

了解しました。
ご説明ありがとうございました。


> 送った先に届くメールは普通の新規メールと同じになります。

こちらで試して、新規メールになった事を確認出来ました。
これで大満足です。

> 一回このマクロ(MakeReplyCustom方式)を作って没にしたのは、その「返信メー
>ル」とタイトルが出てくるのを変えようが無かったからです。なので、この「返信
>メール」と出てくるのがいやな場合はNewMailする作戦でやるしか無いです。

NewMail作戦でなくても(=返信メールが表示されても)大丈夫です。
今後は仕様を理解した上で前述のマクロ2を利用させていただきます。

本件、長い間お手を煩わせてしまい申し訳ありませんでした。
今後ともよろしくお願いします。


[ ]