|
2010/12/23(木) 15:00:48
こんにちは、hum2さん
ダヴィンチ@ユーザーです。
>要望通りとは、未読があれば未読メールにフォーカスし、なければ
>メール一覧側で、一番下のメールを選択したい場合には、具体的に
>どう条件を記述すればよいか?です。
>ご存じの方、ご教示いただけませんでしょうか。よろしくお願いします。
>または、検索のヒントか何かでもお教え願えませんでしょうか?
未読メールの一覧を表示するマクロを以前作成して、マクロライブラリーに
登録しておりますのでそちらを参考にして下さい。
マクロライブラリー:http://hide.maruo.co.jp/lib/tkmacro/unreadv100.html
一覧表は別ウィンドに表示しますのでメール一覧側のフォーカスの
位置には影響しません。(検索一覧の画面です。)
とても短いマクロなのでこのメールにも掲載します。
(罫線の内側のコードをファイルにコピーして使用できます。)
────────────────────────────────
loaddll "TKInfo.dll";
// main
{
#n = dllfunc( "SetFindPack", "flag=unread" );
#n = dllfunc("DoGrep", "", "受信+送信済み+ユーザー");
EXIT_MAIN:
endmacro;
freedll;
}
────────────────────────────────
/*
** タイトル:『turukame.5:00495| 新着検索マクロがうまく行かない』
** 発信日:2010年12月22日(水) 01:33:15
** 発信者:hum2さん
*/
>いつもお世話になります。
>
>秀丸メールはいつも便利に使わせていただいています。
>困ったときだけ出てきてすいません。
>【新着検索マクロがうまく行かないので質問します。】
>
>[秀丸メール 新着リスト]でググったらRE:30822 新着メールの表示
>
> $pack = dllfuncstr("GetFindPack");
> #n = dllfunc("SetFindPack"
> , "flag=!send&transmit=メーラー起動時-指定なし, subfolder=1");
> #n = dllfunc("StartDoGrep", "", "受信+送信済み+ユーザー");
> if( dllfunc("HidemaruMailVersion") >= 474 ) {
> #n = dllfunc("SetFindPack", $pack);
> }
>
> を参考にさせて頂きました。調べ方が悪いのかこのままでは要望通りとはいかず
>うまく合致する例も見つけられませんでした。
>http://www.google.co.jp/search?hl=ja&source=hp&biw=1024&bih=592&q=%E7%A7%80%
>E4%B8%B8%E3%83%A1%E3%83%BC%E3%83%AB+%E6%96%B0%E7%9D%80%E3%83%AA%E3%82%B9%E3%
>83%88&btnG=Google+%E6%A4%9C%E7%B4%A2&aq=f&aqi=&aql=&oq=&gs_rfai=
>
>要望通りとは、未読があれば未読メールにフォーカスし、なければ
>メール一覧側で、一番下のメールを選択したい場合には、具体的に
>どう条件を記述すればよいか?です。
>ご存じの方、ご教示いただけませんでしょうか。よろしくお願いします。
>または、検索のヒントか何かでもお教え願えませんでしょうか?
>
>
>Windows XP Pro SP3
>秀丸メール Ver.5.60β6
>秀丸エディタ Ver.8.03β5
>
>勘違いかも知れませんが………私の環境では「検索 - 新着リスト」だと、
>検索式 = flag=!sendtransmit=メーラー起動時-指定なし
>メーラー起動時からの件数を検索する様で
>新着リスト - CurrentAccount (7件)と一度検索した後、秀丸メールを
>何らかの理由で再起動して再度「検索 - 新着リスト」では
>新着リスト - CurrentAccount (0件)となります。
>
>現状では「検索 - 新着リスト」だと、秀丸メールを何らかの理由で
>再起動すれば検索 - 新着リストが検索できなくなるので、
>私的本日の新着リストを検索フォルダーとして作成しています。
>
>検索式 = flag=transmit=1日前-指定なし, subfolder=1
>フォルダー = \CurrentAccount,受信+送信済み+ユーザー
>(実際のアカウント → CurrentAccount と置換しています。)
>さらに、「マクロ登録 - 自動起動 - 受信が一段落した時」に
>マクロを登録し、しばらくは意図通りに動いていた気がします。
>
>マクロが動いた時は別のフォルダのメールを選択していても
>フォルダ枠の中で特定のフォルダ「私的本日の新着」を選択し
>その中で未読があれば未読メールにフォーカスし、未読がなければ
>メール一覧側で、一番下のメールを選択したいのですが………
>
>最近、「私的本日の新着」フォルダの最後に選択していたメール
>にフォーカスが残る様になりました。「別のフォルダのメール
>を選択してマクロが動いた時」は意図通りに動いています。
>具体的にどう条件を記述すればよいか?うまくマクロに書けません。
>ご教示いただけませんでしょうか。よろしくお願いします。
>
>
>//新着メール位置.mac
>//別のフォルダのメールを選択していても
>//受信\\本日の新着フォルダのメールを選択し
>//未読メールにフォーカスし、なければ
>//メール一覧側で、一番下のメールを選択
>title "本日の新着メールを選択";
>loaddll "tkinfo.dll";
>disabledraw; //画面書き換え禁止
>#n = dllfunc("SetGrepFolderAutoInvalidate", 0 ); // 検索フォルダの中身
>の自動無効化を抑止
>#n = dllfunc("SelectTab", 0 ); // フォルダ枠の中で、"
>受信\\本日の新着"を選択
>#n = dllfunc("RefreshMailList"); // メール一覧を作成し直
>し
>#n = dllfunc("SelectFolder", "", "受信\\本日の新着"); // 本日の新着フォルダ
>を選択
>#n = dllfunc("NextPrevCustom", "unread", "next", "mail", "over");
>#n = dllfunc("SetMailIndex", 99999 ); // メール一覧側で、一
>番下のメールを選択
>enabledraw; //解除
>endmacro; //マクロを終了
|
|