一括返信No.24590
paintmoo さん 05/10/15 15:36
 
毎日10通程度来るメールに同じ文章内容の返信をしています。テンプレートに登録し、
1回1回メール作成しています。

この約10通の受信メールをハイライトし、返信アイコンを押しても一個分の返信メー
ルしか当然ながら開きません。10通分開くと楽なのですが…

何かいい方法はありますか?

[ ]
RE:24590 一括返信No.24617
秀まるお2 さん 05/10/17 11:58
 
 一応、現状の動作はそれはそれでそういう物として使っていただく前提で、し
いて10通まとめて返信するってことでしたら、マクロを使う形になります。

 loaddll "tkinfo.dll";
 #count = dllfunc("SelectedMailCount");
 if( #count == 0 ) {
  endmacro;
 }
 #n = dllfunc("LockSelection");
 while(1) {
  #n = dllfunc("EnumSelection", 1);
  if( #n == 0 ) {
   break;
  }
  #n = dllfunc("MakeReply");
  #n = dllfunc("SetMainWndTop");
 }
 #n = dllfunc("UnlockSelection", 1);

 ってマクロなら、一応、選択してるメール全部について「返信メール」が実行
されます。

 マクロを直せば、例えばそういう風に作成したメールを草稿フォルダとか未送
信フォルダに保存したりも出来ます。

[ ]
RE:24617 一括返信No.24625
paintmoo さん 05/10/17 15:35
 
ありがとうございました。できました。

当方がやりたいのは以下の通りです。さらなるアドバイスをおねがいできませんか?

複数のメールに一括返信メール制作
その際に全く同じ定型分をメールの先頭に入れる
本来マクロで行っているスペルチェックをしないようにして(*通常テンプレートで返
信するときはスペルチェックをしないので早くて助かっています。)
全ての返信メールを未送信フォルダーにいれ、送受信を実行したら送られるようにする

です。


[ ]
RE:24625 一括返信No.24626
秀まるお2 さん 05/10/17 15:49
 
 返信メールの本文内容はテンプレートで指定するとしたら、以下のようなマク
ロでいいと思います。

    loaddll "tkinfo.dll";
    #count = dllfunc("SelectedMailCount");
    if( #count == 0 ) {
        endmacro;
    }
    #n = dllfunc("LockSelection");
    while(1) {
        #n = dllfunc("EnumSelection", 1);
        if( #n == 0 ) {
            break;
        }
        #n = dllfunc("MakeReplyCustom", "Single", "");
        #n = dllfunc("SendLater");
        #wnd = hidemaruhandle(0);
        #n = dllfunc("SetMainWndTop");
        closehidemaruforced #wnd;
    }
    #n = dllfunc("UnlockSelection", 1);

[ ]
RE:24626 一括返信No.24647
paintmoo さん 05/10/18 12:33
 
本当にありがとうございました。

高速でうまくいきます。
しかしながら当方あまりに素人でこのマクロのどこに定型分を挿入して良いかわかり
ません。ご指導よろしくおねがいします。

[ ]
RE:24647 一括返信No.24651
秀まるお2 さん 05/10/18 13:22
 
 定型文はテンプレートで指定すればいいんじゃないかと思います。例えばそう
いう一括返信したいメールを特定フォルダに振り分けるように設定されてる場合
なら、そのフォルダでのフォルダ毎設定でのテンプレート指定でやればいいんじ
ゃないかと思います。

 マクロでやるとしたら、こんな風にすればいいです。

    loaddll "tkinfo.dll";
    #count = dllfunc("SelectedMailCount");
    if( #count == 0 ) {
        endmacro;
    }
    #n = dllfunc("LockSelection");
    while(1) {
        #n = dllfunc("EnumSelection", 1);
        if( #n == 0 ) {
            break;
        }
        #n = dllfunc("MakeReplyCustom", "Single", "");
        gofiletop;  // 本文の先頭に移動
        beginsel;  // 選択開始
        gofileend;  // 本文末尾に移動
        delete;   // 削除
        insert "本文テスト1行目\n本文テスト2行目\n本文テスト3行目";
        #n = dllfunc("SendLater");
        #wnd = hidemaruhandle(0);
        #n = dllfunc("SetMainWndTop");
        closehidemaruforced #wnd;
    }
    #n = dllfunc("UnlockSelection", 1);

-----------------------------------------
 insert文の中の文字列を適当に直せば好きなように出来ると思います。

 改行は"\n"と表記します。

[ ]
RE:24651 一括返信No.24682
paintmoo さん 05/10/19 14:12
 
うまくいきました。ありがとうございました。

[ ]