|
nick さん今日は、Iranoan です。
> メールを保存する件、宜しければマクロを書き込んで頂けないでしょうか。
複数のメールを選んでいる場合も、1 メール 1 ファイルで良いでしょうか?
それならば、末尾のマクロです。ただし
・既に同名ファイルがあっても上書き
・ファイル名が長くなる時の動作が未対応
・ファイル名に使えない文字があれば、全角に変換
なので、希望・不明なことがあれば改めて、ということで。
//------------------------------------------------------------
$f = getenv( "USERPROFILE" ) + "\\";//保存場所
//(取り敢えず標準設定におけるユーザの設定フォルダ)
loaddll "tkinfo.dll";
if( dllfunc( "LockSelection" ) ){
while( dllfunc( "EnumSelection", 1 ) ){
call Save;
}
}
Ending:
freedll;
endmacro;
Save:
$$return = dllfuncstr("CurrentHeader","Subject");
call ChangeCharacter $$return,"\\","\";
call ChangeCharacter $$return,"/","/";
call ChangeCharacter $$return,":",":";
call ChangeCharacter $$return,";",";";
call ChangeCharacter $$return,"*","*";
call ChangeCharacter $$return,"?","?";
call ChangeCharacter $$return,"<","<";
call ChangeCharacter $$return,">",">";
call ChangeCharacter $$return,"|","|";
call ChangeCharacter $$return,"\"","”";
saveas $f + dllfuncstr("FormatDate", dllfuncstr("CurrentHeader", "Date"),
"YYYY-MM-DD" //←日付部分の形式指定
) + "&" + $$return + ".txt";
return;
ChangeCharacter:
##change_char=strlen($$2);
$$string = "";
while(1){
##number = strstr($$1, $$2);
if(##number == -1)break;
else{
##long=strlen($$1);
$$string = $$string + leftstr($$1, ##number) + $$3;
$$1 = rightstr($$1, ##long - ##number - ##change_char);
}
}
return $$string + $$1;
|
|