|
G:\に保存するように直してみました。
保存されるファイル名は、単純に
index.htm
index(2).htm
index(3).htm
みたいな感じにしました。
--------------------------------------------------------------------
loaddll "tkinfo.dll";
#n = dllfunc("SetJapaneseCodePageMode", 1);
$htmlfile = dllfuncstr("CurrentHeader", "X-Html");
if( $htmlfile == "" ) {
message "X-Html:ヘッダがありません。たぶんこのメールはHTMLメールでは
ありません。";
endmacro;
}
//出力ファイルの名前を先に決める。
$outfile = "G:\\index.htm";
if( existfile( $outfile ) ) {
#dup = 2;
while(1) {
$outfile = "G:\\index(" + str(#dup) + ").htm";
if( !existfile( $outfile ) ) {
break;
}
#dup = #dup + 1;
}
}
$htmlfile = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\"
+ $htmlfile;
$body = dllfuncstr("LoadStringFromFile", $htmlfile);
if( $body == "" ) {
message "HTMLメールの中身が空っぽか、または読み込みできませんでした。";
endmacro;
}
loaddll "hmjre.dll";
#utf8 = dllfunc("FindRegularNoCaseSense", "<meta[^>]*?charset=utf-8[^>]
*?>", $body, 0);
if( #utf8 >= 0 ) {
loaddll "tkinfo.dll";
#n = dllfunc("NewMail");
#n = dllfunc("SwitchHeaderView", 0);
gofiletop;
beginsel;
gofileend;
delete;
insert "<META HTTP-EQUIV=\"Content-Type\" Content=\"text/html; chars
et=shift-jis\">\n";
insertfile $htmlfile, utf8;
setcompatiblemode 0x00000200;
searchdown "<meta[^>]*?charset=utf-8[^>]*?>", regular, nocasesense;
if( result ) {
delete;
}
saveas $outfile, sjis;
#handle = hidemaruhandle(0);
setactivehidemaru dllfunc("MainWnd");
closehidemaruforced #handle;
message "utf-8からShift-JISに変換して " + $outfile + " に保存しまし
た。";
} else {
loaddll "tkinfo.dll";
#n = dllfunc("SaveStringToFile", $outfile, $body, 0, 0 );
if( #n == 0 ) {
message "ファイルの保存に失敗しました。出力ファイル = " + $outfile;
endmacro;
}
message "HTMLメールの内容を " + $outfile + " に保存しました。";
}
|
|