|
こちらでマクロをテストしてみた限りでは特にV5.60βになって非互換が起き
てるような気配は無いように思います。そもそもマクロの中でやってるのは
dllfunc関数呼び出しを連続してやってるだけなので、マクロ的にややこしいこ
とは何も無いと思います。
しいて、最近非互換が発生してるとしたら、秀丸エディタ相当部分の違いのせ
いというよりは、最近の秀丸メールでの修正が関係してるのではないかと思いま
すけども…。その辺ちょっと分かりません。
それと、そもそもですが、このマクロを実行しても、
「未読がある場合はそれを選択し、そうでない場合は
一番下のメールを選択する」
という風な動作にはならないと思います。
一番下のメールを選択するというのが、たぶん、
#n = dllfunc("SetMailIndex", 99999 );
って所なんだと思いますが、SetMailIndexに渡されたパラメータの数値がメー
ル数以上の場合には、何も選択しないでスルーしてしまいます。
期待する動作をするマクロを作るとしたら、以下のようにしたらいいんじゃな
いかと思います。
loaddll "tkinfo.dll";
#n = dllfunc("SetGrepFolderAutoInvalidate", 0 );
#n = dllfunc("SelectFolder", "", "受信\\A");
if( dllfunc("GetFolderMailCount", "", "", "unread") == 0 ) {
//未読が無い場合
#count = dllfunc("MailCount");
if( #count > 0 ) {
#n = dllfunc("SetMailIndex", #count - 1 );
}
} else {
//未読がある場合
if( ! dllfunc("IsUnread") ) {
//今現在選択してるメールが未読じゃない場合
#n = dllfunc("DisableDraw");
#n = dllfunc("SetMailIndex", 0);
if( ! dllfunc("IsUnread") ) {
#n = dllfunc("NextPrevCustom", "unread", "next", "mail", "
");
}
#n = dllfunc("EnableDraw");
}
}
あと、RefreshMailList関数呼び出しが必要なのだとしたら、SelectFolderし
た直後に呼び出した方がいいような気がします。
|
|