リモートメールの一括削除ボタンの要望No.39061
KANDA さん 10/08/31 07:27
 
スパムメールが多くて削除するのが面倒です。
リモートメール・ダイアログボックスに全メールを削除出来るような[一括削除]のボ
タンを付けていただけるとありがたいです。
仕事上メールアドレスが沢山あるため、全てを選択した後に、[削除対象にする]を押
して[削除]を押す作業を1クリックで終わらせたく。宜しくご検討ねがいます。

[ ]
RE:39061 リモートメールの一括削除ボタンNo.39062
秀まるお2 さん 10/08/31 09:22
 
 ダウンロード済みメールをすべて削除する、みたいな操作が一発で出来たらい
いかなぁという風には思いました。

 他には、「ダウンロードまだメールを一括ダウンロードする」とかもあったら
いいかもしれませんが…。


 やるしたら、何かのボタンを押した時にメニューが出てきて、そこで選択した
ら即実行される、みたいなのになりますか…。

 とりあえずですが、マクロを使ってやる方法があるのでそれを紹介させていた
だきます。それだと、マクロを実行するという、ただ本当に一発だけの操作にな
ります。

 このマクロを実行する前提として、「アカウント毎の設定・上級者向け・その
他」の「リモートメール一覧をフォルダとして表示する」がONになってる必要が
あります。マクロからリモートメール関係処理をするにはどうしてもこれが必要
です。

----------------マクロ内容-----------------------------------------
    loaddll "tkinfo.dll";
    $account = dllfuncstr("CurrentAccount");
    if( $account == "" ) {
        endmacro;
    }
    $folder = dllfuncstr("CurrentFolder");
    #n = dllfunc("SelectFolder", $account, "Remote");
    if( #n == 0 ) {
        message "リモートメール用フォルダが選択出来ません。" +
                "「アカウント毎の設定・上級者向け・その他」の" +
                "「リモートメール一覧をフォルダとして表示する」" +
                "をONにしてください。";
        endmacro;
    }
    #count = dllfunc("MailCount");
    #i = 0;
    #unread = 0;
    while( #i < #count ) {
        #n = dllfunc("SetMailIndex", #i);
        if( ! dllfunc("IsUnread") ) {
            #n = sendmessage( hidemaruhandle(0), 0x111, 40344, 0);
            #unread = 1;
        }
        #i = #i + 1;
    }
    if( #unread == 0 ) {
        message "ダウンロード済みメールはありませんでした。";
    } else {
        question "リモートメールを実行してもいいですか?";
        if( result == yes ) {
            #n = sendmessage( hidemaruhandle(0), 0x111, 40342, 0);
        }
    }
    #n = dllfunc("SelectFolder", $account, $folder);
    endmacro;
----------------マクロ内容おわり-----------------------------------

 ということでどうでしょ?

[ ]
RE:39062 リモートメールの一括削除ボタンNo.39065
KANDA さん 10/09/01 07:11
 
マクロありがとうございます。
早速組み込んで使ってみましたが、"ダウンロード済みメールはありませんでした。"
のダイアログが出て[OK]を押しても、サーバのメッセージは残ったままで、何度やっ
てもサーバから削除できませんでした。
当方の使い方に何か問題があるのでしょうか?

[ ]
RE:39065 リモートメールの一括削除ボタンNo.39066
秀まるお2 さん 10/09/01 08:34
 
 僕の作ったマクロは、ダウンロード済みメールだけ削除するマクロということ
になります。

 「ダウンロード済みメールはありませんでした。」

 のメッセージが出てくるというこは、つまり、リモートメール一覧の中にはダ
ウンロード済みメールはなくて、ダウンロードまだのメールしか無いということ
ではないでしょうか。

 もしかして、ダウンロードまだのメールでもかまわず削除したいということで
あれば、マクロの

        if( ! dllfunc("IsUnread") ) {
            #n = sendmessage( hidemaruhandle(0), 0x111, 40344, 0);
            #unread = 1;
        }

 となっている部分を、IsUnreadかどうか関係なく削除対象にするために、

        #n = sendmessage( hidemaruhandle(0), 0x111, 40344, 0);
        #unread = 1;

 のように直してしまえばいいかと思います。

 どうでしょ?

 それと、秀丸メールのバージョンがもし最新でなければ、最新のV5.39か、ま
たは最新β版を使って欲しいです。

[ ]
RE:39066 リモートメールの一括削除ボタンNo.39069
KANDA さん 10/09/01 10:33
 
> 僕の作ったマクロは、ダウンロード済みメールだけ削除するマクロということ
>になります。
>
> 「ダウンロード済みメールはありませんでした。」
>
> のメッセージが出てくるというこは、つまり、リモートメール一覧の中にはダ
>ウンロード済みメールはなくて、ダウンロードまだのメールしか無いということ
>ではないでしょうか。
>
> もしかして、ダウンロードまだのメールでもかまわず削除したいということで
>あれば、マクロの
>
>        if( ! dllfunc("IsUnread") ) {
>            #n = sendmessage( hidemaruhandle(0), 0x111, 40344, 0);
>            #unread = 1;
>        }
>
> となっている部分を、IsUnreadかどうか関係なく削除対象にするために、
>
>        #n = sendmessage( hidemaruhandle(0), 0x111, 40344, 0);
>        #unread = 1;
>
> のように直してしまえばいいかと思います。
>
> どうでしょ?
修正したら削除できました。完璧です。

>
> それと、秀丸メールのバージョンがもし最新でなければ、最新のV5.39か、ま
>たは最新β版を使って欲しいです。
V5.39にアップしました。
いろいろとありがとう御座いました。


[ ]