秀丸メールの全般的な設定の「何か受信しNo.44927
siniti さん 13/09/12 14:09
 
sinitiです。

秀丸メールの「設定」-「全般的な設定」-「送受信」の
「何か受信したときにメッセージを表示する」をチェックした
場合で、例えば、メールを受信した際に、「受信の通知」のダイアログで
表示されますが、このダイアログに対して、「OK」を押下した場合の
動きで質問です。

現在は、このダイアログで「OK」を押下した場合でも、表示されるフォルダおよび表
示されるメ―ル一覧画面は、変化しませんが、
これを、「OK」を押下した際に、以下のような動きにはできませんですか?

案1)最後に受信したメールが存在するフォルダのメール一覧を表示

案2)最後に受信したメールが存在するフォルダのメール一覧を表示した
  後で、最後に受信したメールそのものをメール本文表示ウインドウ
  で表示する

利用環境は以下の通りです。
OS:Windows7 32Bit および64Bit
秀丸メール:Ver 6.13 および Ver 6.15

[ ]
RE:44927 秀丸メールの全般的な設定の「何No.44928
秀まるお2 さん 13/09/12 18:47
 
 受信した後にいろいろやりたいことがある場合は、一応、マクロでやって欲し
いということでお願いしてます。

> 案1)最後に受信したメールが存在するフォルダのメール一覧を表示

 GetLastRecvMailXXXX系の関数を使えば出来ると思います。

 マクロの例としては、例えば

    loaddll "tkinfo.dll";
    #c = dllfunc("RecvMailCountShow") + dllfunc("RemoteMailHotCount");
    if( #c == 0 ) {
        endmacro;
    }
    $account = dllfuncstr("GetLastRecvMailAccount", #c - 1);
    $folder = dllfuncstr("GetLastRecvMailFolder", #c - 1);
    if( leftstr($folder, 1) == "\\" ) {
        $folder = midstr( $folder, 1 );
    }
    #n = dllfunc("SelectFolder", $account, $folder);

 のようになります。これを「マクロ・マクロ登録...」の「自動起動」ページ
の「受信が一段落した時」に登録しておけば期待した動作になると思います。


> 案2)最後に受信したメールが存在するフォルダのメール一覧を表示した
>   後で、最後に受信したメールそのものをメール本文表示ウインドウ
>   で表示する

 「全般的な設定・未読メールの閲覧」の「フォルダ切り替え時に選択する
メールの指定」を「最新メール」にするのが一番手っ取り早いですが、しいて受
信した時にだけってことだと、

    #wnd = dllfunc("TitleListWnd");
    #n = dllfunc( "SimulateKeyStroke2", #wnd, 0x23,0,0,0 );

 を入れると、メール一覧枠でEndキーを押したのと同じことが起きて、結果と
してメール一覧の一番下のメールを選択してくれます。それでどうでしょうか。

 一番先頭を選択するなら、

    #wnd = dllfunc("TitleListWnd");
    #n = dllfunc( "SimulateKeyStroke2", #wnd, 0x24,0,0,0 );

 になります。0x23がEndキー、0x24がHomeキーになります。

[ ]
RE:44928 秀丸メールの全般的な設定の「何No.44935
siniti さん 13/09/13 11:17
 
sinitiです。

秀丸お2さん

>> 案1)最後に受信したメールが存在するフォルダのメール一覧を表示
>
>> 案2)最後に受信したメールが存在するフォルダのメール一覧を表示した
>>   後で、最後に受信したメールそのものをメール本文表示ウインドウ
>>   で表示する
   :
> を入れると、メール一覧枠でEndキーを押したのと同じことが起きて、結果と
>してメール一覧の一番下のメールを選択してくれます。それでどうでしょうか。

案1+案2で要望通り動くことを確認できました。
ありがとうございました。

[ ]