|
>これらに関連しての事ですが、送受信メールの添付ファイル名が昇順降順とか
>に整列してくれると非常に助かるのですが。
送信系のメールでは追加した順番、受信したメールでは相手が添付した順番
になってしまいます。この仕様自体は直すべきでは無いと思います。
添付ファイル名の順序をソートするだけなら、一応マクロで出来るといえば
出来るのですが、次のV1.62で追加する予定の「SetHeader2」関数を使う方が
楽に出来ます。ということで、次のバージョン(V1.62)にバージョンアップ
した後で、以下のマクロを使ってください。
(V1.62は今日にでもアップロードします)
// 添付ファイル並べ替え
loaddll "tkinfo.dll";
#cAttach = 0;
while(1) {
$aAttach[#cAttach] = dllfuncstr("CurrentHeader2", "X-Attach"
, #cAttach );
if( $aAttach[#cAttach] == "" ) break;
$aBase[#cAttach] = $aAttach[#cAttach];
while(1) {
#n = strstr( $aBase[#cAttach], "\\" );
if( #n < 0 ) {
break;
}
$aBase[#cAttach] = midstr( $aBase[#cAttach], #n + 1
, 256 );
}
#cAttach = #cAttach + 1;
}
if( #cAttach == 0 ) {
message "添付ファイルは1つもありません。";
endmacro;
}
#i = 0;
#WantSort = 0;
while( #i < #cAttach - 1 ) {
#j = #i + 1;
while( #j < #cAttach ) {
if( $aBase[#i] > $aBase[#j] ) {
#WantSort = 1;
$tmp = $aBase[#i];
$aBase[#i] = $aBase[#j];
$aBase[#j] = $tmp;
$tmp = $aAttach[#i];
$aAttach[#i] = $aAttach[#j];
$aAttach[#j] = $tmp;
}
#j = #j + 1;
}
#i = #i + 1;
}
if( #WantSort == 0 ) {
message "添付ファイルは既にソートされた状態になっています。";
endmacro;
}
if( leftstr( dllfuncstr("CurrentFolder"), 8 ) == "送信済み" ) {
message "送信済みフォルダ配下のメールは改変できません。";
endmacro;
}
question "添付ファイルをABC順に並べ替えますか?";
if( result != yes ) {
endmacro;
}
#open = 0;
if( dllfunc("IsTuruKameMain") ) {
#n = dllfunc("OpenMail");
#open = 1;
}
if( readonly ) {
#n = dllfunc("EnableEdit");
}
#i = 0;
while( #i < #cAttach ) {
#n = dllfunc("SetHeader2", "X-Attach", $aAttach[#i], #i );
#i = #i + 1;
}
if( #open ) {
if( dllfuncstr("MailFileName") != "" ) {
$folder = dllfuncstr("CurrentFolder");
if( leftstr( $folder, 4 ) == "草稿" ) {
save;
} else if( leftstr( $folder, 6 ) == "未送信" ) {
savelf;
} else {
save; // たぶん、受信メールの改変
}
}
exit;
}
|
|