HTMLメールの添付ファイルの名前No.09954
秀丸20年 さん 22/07/25 21:22
 
こんにちは

HTMLメールViewer for 秀丸メールをインストールしています。添付ファイルとしてH
TMLメールがありますが、そのファイルを例えばUSBメモリに保存すると 名前が
 index.htm となりますが、メール毎に名前を変えることは出来るのでしょうか?
 

[ ]
RE:09954 HTMLメールの添付ファイルの名前No.09955
秀まるお2 さん 22/07/26 08:56
 
 HTMLメール用ファイルは全部「index.htm」固定で、すみませんがこの名前を変え
ることは出来ないです。

 そのファイルを単独で保存するんじゃなくて、そのファイルを含むフォルダごと保
存するようにすれば、一応、名前が重なることは無いです。なので、親となるフォル
ダごと保存するのがお勧めです。HTMLメールに画像を含んでる場合はindex.htmファ
イル以外にも画像ファイルも存在してるので、それも含めて保存するためにもフォル
ダごと保存するのがいいです。

[ ]
RE:09955 HTMLメールの添付ファイルの名前No.09964
秀丸20年 さん 22/07/26 20:04
 
こんにちは

画像は含まれずテキストだけです。

index.htmファイルを保存するときに日本語 Shift-jisにして保存する方法はありま
すか?
usbメモリに放り込んでます。

とあるデータベースソフトに保存していますがShift-jisして取り込まないと文字化
けするんです。


> HTMLメール用ファイルは全部「index.htm」固定で、すみませんがこの名前を変え
>ることは出来ないです。
>
> そのファイルを単独で保存するんじゃなくて、そのファイルを含むフォルダごと
>保存するようにすれば、一応、名前が重なることは無いです。なので、親となるフ
>ォルダごと保存するのがお勧めです。HTMLメールに画像を含んでる場合はindex.htm
>ファイル以外にも画像ファイルも存在してるので、それも含めて保存するためにも
>フォルダごと保存するのがいいです。

[ ]
RE:09964 HTMLメールの添付ファイルの名前No.09967
秀まるお2 さん 22/07/27 09:50
 
 index.htmファイルの文字コードは元々のメールでの文字コードに依存しまして、
最近はutf-8になってることが多いと思います。現在データベースに取り込んで化け
るなら、たぶんutf-8になってるんだと思います。

 秀丸エディタで開いてみたりすればその辺確認できると思います。秀丸エディタで
文字コード(エンコード)が何になってるか確認できると思うし、metaタグの中身で
も分かります。

   <meta content="text/html; charset=utf-8" http-equiv=Content-Type>

 みたいなのがあれば、utf-8です。

 秀丸メールの方で、このファイルの文字コードを変換するような機能は無いです。

---------------------------------------------------------------

 しいてなんとかするとしたら、マクロを使うなどしてindex.htmファイルの文字
コードを無理矢理変換してしまう手はあります。マクロを実行するのに一手間かかり
ますけども、無理矢理変換してしまうマクロを作って差し上げる程度なら可能ではあ
ります。

[ ]
RE:09967 HTMLメールの添付ファイルの名前No.09969
秀丸20年 さん 22/07/27 17:01
 
utf-8のようです。
秀丸でShift-jisに変更して保存してファイリングしてます。
マクロお願いできますか?
使ってみたいです。

[ ]
RE:09969 HTMLメールの添付ファイルの名前No.09971
秀まるお2 さん 22/07/27 18:13
 
 HTMLメールを1通選択して実行すると、そのメールのindex.htmファイルがもしもu
tf-8ならShift-JISに変換するってマクロだけ作ってみました。Shift-JISに変換でき
ない文字は「?」などに化けてしまいますが、それは仕方が無いです。


 ご要望があればもっと修正できます。例えば変換した後の内容をどこか固定の所に
保存するとか、何かその辺の法則など指定してもらえれば直せます。


----------------------------------------------------------------
    loaddll "tkinfo.dll";
    #n = dllfunc("SetJapaneseCodePageMode", 1);
    $htmlfile = dllfuncstr("CurrentHeader", "X-Html");
    if( $htmlfile == "" ) {
        message "X-Html:ヘッダがありません。たぶんこのメールはHTMLメールでは
ありません。";
        endmacro;
    }
    $htmlfile = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount") + "\\"
+ $htmlfile;
    $body = dllfuncstr("LoadStringFromFile", $htmlfile);
    $body = dllfuncstr("ToLower", $body);
    loaddll "hmjre.dll";
    #utf8 = dllfunc("FindRegular", "<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;
        }
        #n = dllfunc("Bypass_SetFileAttributes", $htmlfile, 0x20);
        saveas $htmlfile, sjis;
        #handle = hidemaruhandle(0);
        setactivehidemaru dllfunc("MainWnd");
        closehidemaruforced #handle;
        message "utf-8からShift-JISに変換しました。";
    } else {
        message "変換しませんでした。";
    }

[ ]
RE:09971 HTMLメールの添付ファイルの名前No.09974
秀丸20年 さん 22/07/27 18:53
 
こんにちは マクロ有り難うございます


変換したファイルを
G:\ に保存する(usbメモリ)

同じ名前があったら数字を付けることも可能でしょうか?

[ ]
RE:09974 HTMLメールの添付ファイルの名前No.09977
秀まるお2 さん 22/07/28 11:10
 
 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 + " に保存しました。";
    }

[ ]
RE:09977 HTMLメールの添付ファイルの名前No.09979
秀丸20年 さん 22/07/28 12:58
 
こんにちは

出力先は変更なら
G:\ファイル名
にしたら良いのですね。

またよろしくお願いします。

[ ]
RE:09977 HTMLメールの添付ファイルの名前No.09980
秀丸20年 さん 22/07/28 13:05
 
お世話になります。

マクロに登録して実行したら
ブロックの対応が合いませんと出ます。
どうしたら宜しいでしょうか?

[ ]
RE:09980 HTMLメールの添付ファイルの名前No.09981
秀まるお2 さん 22/07/28 13:45
 
 会議室に書き込んだ内容そのままコピペして新たにマクロを作って実行した限りは、
エラーは出ないようでした。

 コピペミスじゃないかと思うのですが・・・。

 もう一回コピペしなおしてテストしてみてもダメでしたら、エラーが出るマクロ内
容をコピペしてここの会議室に書き込んでいただければ、僕の方で何か違いを見つけ
ることは出来るかなぁと思います。

[ ]
RE:09981 HTMLメールの添付ファイルの名前No.09982
秀まるお2 さん 22/07/28 13:49
 
 マクロファイルですが、Shift-JISで保存しないとダメです。以前これのせいでう
まくいかないユーザー様がおられました。

 Utf-8で保存するとうまく実行できないです。

[ ]
RE:09982 HTMLメールの添付ファイルの名前No.09983
秀丸20年 さん 22/07/28 16:35
 
秀まるお様 お世話になります。

Shift-JISで保存するとうまくいきました。

有り難うございました。
簡便になり助かりました。

[ ]