送信したメールをアクティブにしたい2No.44255
styth さん 13/04/03 11:21
 
ttp://maruo.dyndns.org:81/hidesoft/hidesoft_8/x42024.html#42024

> マクロの自動起動として、秀丸メール本体上での「未送信メールの送信」の後
>に起動する物はすみませんが用意してないです。なので、現状では手動でやるか、
 是非、用意して頂くことを切に要望致します。

 上記要望をさせて頂いておりますが、対応の予定はないでしょうか?
 催促しているわけではないのですが、予定をお聞きしたいです。
 よろしくお願いします。

[ ]
RE:44255 送信したメールをアクティブにしNo.44258
秀まるお2 さん 13/04/03 13:07
 
 「受信が一段落した時」の自動起動マクロを、受信だけじゃなくて、とにかく
秀丸メール本体ウィンドウ上での送受信系コマンド実行後に毎回実行するように
ってオプションなら簡単に追加できるかと思いますけども、それでどうでしょう
か。

[ ]
RE:44258 送信したメールをアクティブにしNo.45033
styth さん 13/10/02 10:56
 
> 「受信が一段落した時」の自動起動マクロを、受信だけじゃなくて、とにかく
>秀丸メール本体ウィンドウ上での送受信系コマンド実行後に毎回実行するように
>ってオプションなら簡単に追加できるかと思いますけども、それでどうでしょう
>か。
 そうして頂けないでしょうか。
 その際のマクロも教えて下さい。
 よろしくお願いします。

[ ]
RE:45033 送信したメールをアクティブにしNo.45040
秀まるお2 さん 13/10/02 14:32
 
 今さらになりますが、オプション追加しなくても、「送受信の開始直前」の所
にマクロを登録することでも目的のことが実現出来ました。

 マクロの内容としては以下のような内容になります。「未送信メールの送信」
の時だけマクロが機能するような形に作ってあります。

 マクロの動作としては、「検索して一覧作成」を実行する物じゃなくて、送信
したメール(のうちの1通)を秀丸メール本体ウィンドウ上で探して選択するっ
て動作になってますけど、そういうのでどうでしょうか。

 「検索して一覧作成」にするマクロの方がいいとか、あるいは2通以上送信し
た場合はそうするとかってことも可能です。


--------------------マクロ内容------------------------------
    loaddll "tkinfo.dll";
    #command = dllfunc("GetTransmitCommandCode");
    if( #command != 40059 ) {
        endmacro;
    }
    $account = dllfuncstr("CurrentAccount");
    #unsent = dllfunc("GetFolderMailCount", "", "未送信");
    if( #unsent == 0 ) {
        endmacro;
    }
    $prevfolder = dllfuncstr("CurrentFolder");
    #n = dllfunc("SelectFolder", "", "未送信");
    if( dllfunc("IsThreadView") ) {
        #n = dllfunc("SetThreadView", 0);
    }
    #n = dllfunc("SetMailIndex", 0);
    $messageid = dllfuncstr("CurrentHeader", "Message-Id");
    if( leftstr($messageid,1) == "<" ) {
        $messageid = midstr($messageid, 1);
    }
    if( rightstr($messageid,1) == ">" ) {
        $messageid = leftstr($messageid, strlen($messageid) - 1);
    }
    $messageid = dllfuncstr("YenEncode", $messageid);
    #n = dllfunc("SendRemain");
    $packPrev = dllfuncstr("GetFindPack");
    $pack = "(\"" + $messageid + "\", casesense, word, target=person), " +
            "messageidtarget=messageid, subfolder=1,inmail=2,hilight=0";
    #n = dllfunc("SetFindPack",$pack);
    message $pack;
    #n = dllfunc("SelectFolder", "", "");
    #hit = dllfunc("FindDown");
    #n = dllfunc("SetFindPack", $packPrev);
    if( #hit ) {
        //OK
    } else {
        //見つからない
        message "送信したメールがどこに行ったか行方不明です。";
    }

[ ]
RE:45040 送信したメールをアクティブにしNo.45044
styth さん 13/10/03 09:35
 
> マクロの動作としては、「検索して一覧作成」を実行する物じゃなくて、送信
>したメール(のうちの1通)を秀丸メール本体ウィンドウ上で探して選択するっ
>て動作になってますけど、そういうのでどうでしょうか。
 ありがとうございます。教えて頂いたマクロでできました。

> 「検索して一覧作成」にするマクロの方がいいとか、あるいは2通以上送信し
>た場合はそうするとかってことも可能です。
 もし良ろしければ、「検索して一覧作成」にするマクロも教えて頂けないでしょ
うか?
 よろしくお願いします。

[ ]
RE:45044 送信したメールをアクティブにしNo.45045
秀まるお2 さん 13/10/03 10:39
 
 「検索して一覧作成」だと、実はもっとシンプルになります。

-----------------------------------------------------------------
    loaddll "tkinfo.dll";
    #command = dllfunc("GetTransmitCommandCode");
    if( #command != 40059 ) {
        endmacro;
    }
    $account = dllfuncstr("CurrentAccount");
    #unsent = dllfunc("GetFolderMailCount", "", "未送信");
    if( #unsent == 0 ) {
        endmacro;
    }
    #n = dllfunc("SendRemain");
    $packPrev = dllfuncstr("GetFindPack");
    $pack = "flag=transmit=直前の送受信時-指定なし" +
            ", subfolder=1,inmail=2,hilight=0";
    #n = dllfunc("SetFindPack",$pack);
    #n = dllfunc("DoGrep", "\\CurrentAccount", "", 0);
    #n = dllfunc("SetFindPack", $packPrev);

[ ]