|
すべてのフォルダを対象にしてってことになると、NextPrevCustomで探すのは無理
だと思います。現状考えた作戦としては、「新着リスト - すべてのアカウント」を
実行した結果を送受信日時順にソートして一番先頭のメールを秀丸メール本体側で選
択し、その後新着リストを閉じる、みたいな作戦になりました。
ただ、検索結果の一覧上でのマウス右ボタンメニューに出てくる「このメールを秀
丸メール本体側で選択する」は、tkinfo.dllに関数が用意されてなくて、sendmessag
eで実行するにもコマンドコードが分からないです。コマンドコードはとりあえず僕
のソースコードから「40094」でありまして、それで実行してもらう形にしました。
loaddll "TKInfo.dll";
// 「新着リスト - 現在アカウント」コマンド実行
#n = dllfunc("AutoRestoreFindPack");
#n = dllfunc("SetFindPack", "flag=!send&transmit=メーラー起動時-指定なし,
subfolder=1");
#n = dllfunc("DoGrep", "", "受信+送信済み+ユーザー");
#n = dllfunc("SetGrepWndTop");
#n = dllfunc("SetSortMethod", 4); //送受信日時順
#n = dllfunc("SetMailIndex", 0); //先頭のメールを選択。
#n = sendmessage( hidemaruhandle(0), 0x111, 40094, 0 ); //「このメー
ルを秀丸メール本体側で選択」コマンド。
#n = dllfunc("SetMainWndTop");
#n = dllfunc("CloseGrepWnd");
検索結果のウィンドウが1回出てきてしまうのですが、他に方法が思いつかないて
す。
もしも受信フォルダの中でってことなら、絞り込み検索で新着リストにしてからそ
の先頭のメールを選択し、その後絞り込み検索を解除するって作戦も可能です。必要
ならそのマクロも作成します。
あと、上記マクロは「現在アカウント」を対象としてますが、「すべてのアカウン
ト」を対象にしたいなら、DoGrep関数の第1パラメータを""にすればいいです。あと
あと、検索結果上での「本体側で選択」のコマンド実行は次のβ版から"Sync"関数に
て実行可能にします。
|
|