[ 新規に投稿する ]

検索結果一覧画面に再検索ボタンを付けたいNo.11526
mwave さん 23/07/21 14:26 [ コメントを投稿する ]
  いつもお世話になっております。
表題の件に付きまして、
#n = dllfunc("SetFindPack", "flag=!send&unread, subfolder=1");
を使って全アカウントの未読メールを検索結果の一覧画面に表示し、迷惑メールの削除やメール内容の確認をしています。

ある程度のところで再検索をして、検索結果の一覧画面に残っている既読メールを消して未読メールだけにしたいのですが、検索一覧画面に再検索ボタンを追加することはできますでしょうか。
マクロを使うことで可能であれば、ご教示いただけると助かります。

よろしくお願いいたします。
[ ]
RE:11526 検索結果一覧画面に再検索ボタンを付けたいNo.11528
秀まるお2 さん 23/07/21 15:28 [ コメントを投稿する ]
   検索しなおしですが、検索結果のウィンドウの下の方にある

    検索(S)>>

 ボタンを押して出てくるメニューの一番上にある

    検索やり直し...

 ってコマンドを選択することで一応可能ではあります。ただ、それを実行した後に検索やり直しが即実行されるんじゃなくて、秀丸メール本体ウィンドウ上に「検索して一覧作成」のダイアログボックスが出てきて、そこでEnterキーを押していただく必要はあります。

 これをマクロでやるとしたら、ちょっと隠しコマンドコードになるんですが、40158番のコマンドコードをPostしてやればいいです。

    loaddll "tkinfo.dll";
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40158, 0 );

 みたいなマクロになります。

 マクロを使った場合でも、やはり「検索して一覧作成」のダイアログボックスが出てくる所までしかやってくれないので、その後Enterキーは押さないとダメです。

 それの他には、検索条件が決まってるならそれを実行するマクロでもいいんじゃないかと思います。例えば

    loaddll "tkinfo.dll";
    #n = dllfunc("AutoRestoreFindPack");
    #n = dllfunc("SetFindPack", "flag=!send&unread, subfolder=1");
    #n = dllfunc("StartDoGrep", "", "受信+送信済み+ユーザー");

 みたいなマクロにするか、または検索結果ウィンドウが既にある場合にそれを閉じて実行するなら、

    loaddll "tkinfo.dll";
    #n = dllfunc("SetMainWndTop");
    #n = dllfunc("CloseGrepWnd", 1);
    #n = dllfunc("AutoRestoreFindPack");
    #n = dllfunc("SetFindPack", "flag=!send&unread, subfolder=1");
    #n = dllfunc("StartDoGrep", "", "受信+送信済み+ユーザー");

 みたいなマクロがいいかもしれません。

 あと、検索フォルダを作っておく作戦も可能です。検索フォルダを作っておけば、そこに出てくる「再検索」ボタンを押せば再建策してくれます。
[ ]
RE:11528 検索結果一覧画面に再検索ボタンを付けたいNo.11534
mwave さん 23/07/22 08:34 [ コメントを投稿する ]
  ご返信ありがとうございます。

検索フォルダはアカウントの中にしか作れなかったので、そのアカウントの中だけの検索だと思いこんでました。

検索フォルダで思っていたことができました。


できればアカウントの外(アカウントと同階層のところ)に検索フォルダが作れるとわかりやすいです。

ご対応いただき、ありがとうございました。
[ ]
RE:11534 検索結果一覧画面に再検索ボタンを付けたいNo.11538
秀まるお2 さん 23/07/25 10:33 [ コメントを投稿する ]
   アカウントの外に検索フォルダを作成するのは、すみませんが内部的な仕組み的に考えて無理だろうと思います。
[ ]

[ 新規に投稿する ]