|
とりあえず作りました。
テストが多少手抜きなので、それなりにテストしていただいた方がいいかと思
います。一応、添付ファイル・ファイル名の先頭8桁が数字になってないケース
でちゃんと書き換えないように動作するかのテストくらいはしました。
$mon = "JanFebMarAprMayJunJulAugSepOctNovDec";
loaddll "tkinfo.dll";
#n = dllfunc("LockSelection");
while(1) {
#n = dllfunc("EnumSelection", 1);
if( #n == 0 ) {
break;
}
$attach = dllfuncstr("CurrentHeader", "X-Attach");
if( $attach != "" ) {
#base = strrstr($attach, "\\");
if( #base > 0 ) {
$attach = midstr($attach, #base+1, 9999);
}
$date = leftstr( $attach, 8 );
if( strlen($date) == 8 ) {
call CheckAllNumber $date;
if( ##return ) {
#mon = val(midstr($date, 4, 2)) - 1;
$edate = midstr($date, 6, 2)
+ " " + midstr($mon, #mon * 3, 3)
+ " " + leftstr($date, 4);
#n = dllfunc("BeginEditMail");
#n = dllfunc("SetHeader", "Date", $edate);
#n = dllfunc("SaveEditMail");
}
}
}
}
#n = dllfunc("UnlockSelection", 1);
endmacro;
CheckAllNumber:
##len = strlen($$1);
##i = 0;
while( ##i < ##len ) {
##c = ascii( midstr( $$1, ##i, 1 ) );
if( ##c < '0' || ##c > '9' ) {
return 0;
}
##i = ##i + 1;
}
return 1;
|
|