V6.64β5No.01065
秀まるお2 さん 17/02/16 18:55
 
 V6.64β5をアップロードしました。

32bit版:
http://hide.maruo.co.jp/software/bin3/hmmail664b5_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin3/hmmail664b5_x64_signed.exe

 印刷についてですが、今度のバージョンから、

    #n = sendmessage( hidemaruhandle(0), 0x111, 40119, 0);

 ってやっただけで、普通に「印刷」コマンドを実行したのと同じように印刷で
きるようにしました。HTMLメールをインライン表示してる最中だとHTMLメールの
印刷になり、そうじゃない場合で、秀丸パブリッシャーをインストールしてある
場合は秀丸パブリッシャーで印刷します。

 それと、HtmlViewerNotIsolateって関数追加もしてまして、これを使うと保護
モードで開いてるHTMLメールViewerを、保護モードじゃないモードで開き直しま
す。

 HTMLメールを印刷するマクロとしては、例えば

    loaddll "tkinfo.dll";
    if( !dllfunc("IsHtmlMailViewerVisible") ) {
        #n = sendmessage( hidemaruhandle(0), 0x111, 40336, 0);
              //HTMLメールのインライン表示
    }
    #n = dllfunc("HtmlViewerNotIsolate");
    #n = sendmessage( hidemaruhandle(0), 0x111, 40119, 0);
          //印刷コマンド
    endmacro;

 のようにすればいいかと思います。

 この辺の対応のために、HTMLメールViewerとHTMLメール編集アドインもバージ
ョンアップしています。特にHtmlViewerNotIsolate関数を使うにはHTMLメール
ViewerのV3.04もインストールしないとうまくいかないです。

HTMLメールViewer
32bit版:
http://hide.maruo.co.jp/software/bin3/hmmhtmlv304_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin3/hmmhtmlv304_x64_signed.exe

 よろしくお願いします。

[ ]
RE:01065 V6.64β5No.01072
ひろ坊 さん 17/02/18 06:44
 
お疲れ様です。おかげさまでやりたいことがマクロでできるようになりました。
本体からのPrintDialogでの印刷も、ファイル名にタイトルが入ることを確認し
ました。それ以外も特に問題なく、動作しております。
ありがとうございました。

[ ]
RE:01065 V6.64β5No.01077
ひろ坊 さん 17/02/20 15:03
 
ご報告だけです。下記のようなマクロを、おそらく
「X-Body-Content-Type: text/plain; charset=iso-8859-1 (original=utf-8)」
で起動させたときだけ、ファイル名(印刷テンプレート名)に全角文字を含むと
writeinistr(writeinistrwにしても)のINI(hpt)書き込みの時に
ファイル名の方が文字化けして、別のファイルが作成されてしまいます。
UTF-8ではおそらく大丈夫でした。印刷テンプレート名を"test"など半角にすれば
解決できます。秀丸メール 6.64β5、6.63いずれでも再現されました。


$name = "テスト"; //印刷テンプレート名

loaddll "tkinfo.dll";
$box1 = dllfuncstr( "CurrentHeader", "Subject");

loaddll "hidemaruapi64.dll";
$hpt = dllfuncstr("GetTemplateDir") + "\\" + $name + ".hpt";
writeinistr $hpt, "Box1", "text", $box1;
#n = dllfunc("PrintDialog", hidemaruhandle(0), $name);

[ ]
RE:01077 V6.64β5No.01079
秀まるお2 さん 17/02/20 16:30
 
 すみません。外国語メールを選択してると、writeinistrも含めていろんな関
数が、外国語コードページ前提で動作してしまっていろいろ不都合が起きます。

 これを回避する用に、SetJapanseCodePageModeって関数があります。それで回
避お願いします。

 マクロの先頭に、

    loaddll "tkinfo.dll";
    #n = dllfunc( "SetJapaneseCodePageMode", 1 );

 って入れるだけでいいです。

[ ]
RE:01079 V6.64β5No.01080
ひろ坊 さん 17/02/20 16:43
 
知りませんでした。ありがとうございます。
たしかに正しく動作するようになりました。

[ ]