|
僕の提案させていただくマクロは、
メーリングリスト用の振り分け設定には、振り分け項目名の先頭に
「ML用:」
と全角文字で入れ、個人用の振り分け設定は
「個人用:」
を入れるという前提でのマクロのサンプルになります。なので、このマクロを
使って処理するということでしたら、そういう前提で振り分け項目の名前を今か
ら書き換えていただく必要があると思います。
そういう前提でマクロを書きますと、以下のようになりました。
もっと他に「こういうルールに対応して欲しい」ってのがありましたら、そう
いう風に直すことも可能ではあります。
//-------------------マクロ開始-----------------------------------------
question "現在アカウントの振り分け設定を整理します。\n" +
"「ML用:」で始まる振り分け設定が「個人用:」" +
"で始まる振り分け設定よりも優先順位が低い所にある" +
"場合、順序を入れ替えます。\n\n" +
"よろしいですか?";
if( result != yes ) {
endmacro;
}
loaddll "tkinfo.dll";
#n = dllfunc("NewMail");
#n = dllfunc("SwitchHeaderView", 0);
$account = dllfuncstr("CurrentAccount");
$path = dllfuncstr("HomeDir")+$account+"\\filter.txt";
insertfile $path;
if( linecount2 <= 1 ) {
message "filter.txtファイルの読み込みに失敗しました。" +
"または振り分け設定が空です。";
quit;
endmacro;
}
clearupdated;
gofiletop;
#yInsert = 0;
#mlcount = 0;
#mlmoved = 0;
while(1) {
searchdown2 "^ML用:", regular;
if( !result ) break;
#mlcount = #mlcount + 1;
if( y != #yInsert ) {
#mlmoved = #mlmoved + 1;
golinetop2;
beginsel;
searchdown "^(?=[^\\t\\n]+)", regular;
if( !result ) {
gofileend;
}
cut;
moveto 0, #yInsert;
paste;
}
searchdown "^(?=[^\\t\\n]+)", regular;
if( !result ) {
break;
}
golinetop2;
#yInsert = y;
}
#personcount = 0;
#personmoved = 0;
while(1) {
searchdown2 "^個人用:", regular;
if( !result ) break;
#personcount = #personcount + 1;
if( y != #yInsert ) {
#personmoved = #personmoved + 1;
golinetop2;
beginsel;
searchdown "^(?=[^\\t\\n]+)", regular;
if( !result ) {
gofileend;
}
cut;
moveto 0, #yInsert;
paste;
}
searchdown "^(?=[^\\t\\n]+)", regular;
if( !result ) {
break;
}
golinetop2;
#yInsert = y;
}
if( updated ) {
question "振り分け設定の並び順を変更しました。" +
"このまま保存してもいいですか?\n\n" +
"ML用の振り分け設定: " + str(#mlcount) +
"個中 " + str(#mlmoved) + "個を移動\n\n" +
"個人用の振り分け設定: " + str(#personcount) +
"個中 " + str(#personmoved) + "個を移動\n\n";
if( result == yes ) {
saveas $path;
}
} else {
message "並び順の変更は必要ありませんでした。\n\n" +
"ML用の振り分け設定数 = " + str(#mlcount) + "\n" +
"個人用の振り分け設定数 = " + str(#personcount);
}
quit;
endmacro;
//-------------------マクロ終了-----------------------------------------
|
|