新着通知ダイアログから新着メールへのジNo.45957
あるめい さん 14/04/08 14:58
 
また,AL-Mail からの移行に関することでお尋ねします。

新着メールを通知するダイアログが表示されたとき,OK ボタンを押すと新着メール
を選択した状態になるようにはできないでしょうか。

またヘルプの見方が不十分であれば申し訳ありません。

よろしくお願いいたします。

[ ]
RE:45957 新着通知ダイアログから新着メーNo.45960
秀まるお2 さん 14/04/08 16:42
 
 新着メールの通知をOKした後に新着リストを表示するってことなら、マクロ
で一応できます。

 マクロの内容は、

-----------------------------------------------------------------
    loaddll "tkinfo.dll";
    #cRecv = dllfunc("RecvMailCountShow");
    if( #cRecv != 0 ) {
        #n = sendmessage( hidemaruhandle(0), 0x0111, 40220, 0 );
        #n = sendmessage( hidemaruhandle(0), 0x0111, 40290, 0 );
    }
-----------------------------------------------------------------

 のようになります。例えばこれを、「受信後新着リスト.mac」のような名前で
マクロファイル用のフォルダに保存して、「マクロ・マクロ登録...」の「自動
起動」ページの「受信が一段落した時」に登録しておけばいいと思います。

 マクロの中身は、

    もしも新着メールがあれば、「新着リスト - すべてのアカウント」
    を実行して、その後「送受信 - すべてのメールの新着フラグをOFFにする」
    を実行する

 って内容になってます。もっと具体的にしたいことがあれば、マクロを直して
対応することは可能だと思うので、ご要望があれば書き込んでいただければと思
います。

[ ]
RE:45960 新着通知ダイアログから新着メーNo.45964
あるめい さん 14/04/09 10:56
 
ご回答ありがとうございます。

このマクロで、希望する使い勝手は概ね再現されました。
欲を言えば、新着リストでなく、メインのウィンドウで受信フォルダが表示されて新
着メールが選択されるのが使いやすいところではあります。

また、新着リストからエディタを開くと既読にならないのですが、これは別途に設定
するのでしょうか。

よろしくお願いいたします。

[ ]
RE:45964 新着通知ダイアログから新着メーNo.45965
秀まるお2 さん 14/04/09 11:41
 
> 欲を言えば、新着リストでなく、メインのウィンドウで受信フォルダが表示されて新
> 着メールが選択されるのが使いやすいところではあります。

 メールアカウントが複数ある時どうするのかとかってことがあるのですが、と
りあえずメールアカウントが1つしか無いのであれば、

    loaddll "tkinfo.dll";
    if( #cRecv != 0 ) {
        #n = dllfunc("SelectFolder", "", "受信");
        #n = dllfunc("SetMailIndex", 0);
    }

 ってマクロで受信フォルダの先頭のメールを選択するか、または

    loaddll "tkinfo.dll";
    if( #cRecv != 0 ) {
        #n = dllfunc("SelectFolder", "", "受信");
        #n = dllfunc("SetMailIndex", dllfunc("MailCount") - 1);
    }

 ってマクロで受信フォルダの末端のメールを選択する作戦もあるかと思います。

 または、新着メールの中で一番古いメールを選択するとしたら、

    loaddll "tkinfo.dll";
    if( #cRecv != 0 ) {
        #n = dllfunc("SelectFolder", "", "受信");
        #option = searchoption;
        $pack = dllfuncstr("GetFindPack");
        #n = dllfunc("SetFindPack", "flag=hot, hilight=0");
        #n = dllfunc("SetMailIndex", 0);
        #n = dllfunc("FindDownInclude");
        if( (#option & 0x00000800) != 0 ) {
            $pack = $pack + ", hilight=1";
        }
        #n = dllfunc("SetFindPack", $pack);
    }

 ってマクロにしたらいいとかあります。

 それか、そもそも「受信」フォルダでの、メール一覧枠の中の「範囲(L):」の
所を「未読分」にしておけば、受信フォルダを選択するだけで未読メールだけの
一覧が見られて便利だったりします。あるいは受信フォルダとは別に検索
フォルダを作ってそこを選択するようなマクロにする作戦もあります。

 検索フォルダで新着メールの一覧を出すには、検索条件の「追加の条件」の中
から「新着メール」をONにして、検索文字列は無しを指定すればいいです。

 他にも例えば、「全般的な設定・メール一覧・表示範囲」の所で新着メールの
みの一覧を表示させたりとか、そういうことも可能です。

 いろいろ隠れた機能があるので試してみて欲しい所です。

[ ]
RE:45965 新着通知ダイアログから新着メーNo.45969
あるめい さん 14/04/10 09:52
 
ありがとうございます。

受信フォルダは送受信日時降順で表示してますので,新着メールをカウントしてその
数によってメールを選択するようにしました。

loaddll "tkinfo.dll";
 #cRecv = dllfunc("RecvMailCountShow");
 if( #cRecv != 0 ) {
     #n = dllfunc("SelectFolder", "", "受信");
     #cHot = dllfunc( "GetFolderMailCount", "", "", "hot");
     #n = dllfunc("SetMailIndex", #cHot - 1);
     #n = sendmessage( hidemaruhandle(0), 0x0111, 40290, 0 );
 }

これで,希望していた動作になりました。

[ ]
RE:45969 新着通知ダイアログから新着メーNo.45972
秀まるお2 さん 14/04/10 14:46
 
 マクロ自作されるとは、すごいですね。

 こちらも参考にさせていただきます。

[ ]