EnterPrintMulti/LeavePrintMulti関数(TKInfo.dll)(Ver7.33対応版)
秀丸パブリッシャーによる印刷をマクロから制御する場合で、hidemaruapi.dllのPrintDialog関数等を使う場合で、しかも、複数のメールをまとめて印刷する場合、EnterPrintMultiしてからPrintDialog関数などを呼び出して、印刷が終わったらLeavePrintMulti関数を呼んでください。
EnterPrintMultiしている最中には、メールの選択状態を変更するようなマクロ命令は一切入れないでください。
LeavePrintMultiしないでマクロを終了すると、メモリリークしたり後々になって死んでしまったりすると思います。
HTMLメールViewerでHTMLメールをインライン表示している最中に、そのHTML形式で印刷する方法は、
HtmlViewerNotIsolate関数を参照ください。
秀丸メールのVersion 6.64β5から、印刷コマンドをsendmessageで実行しても、もしも秀丸パブリッシャーで印刷する設定だったら、普通にパブリッシャーで印刷するようになりました。なのでEnterPrintMulti/LeavePrintMultiはもう使わなくてもいいと思います。
例 |
loaddll "tkinfo.dll";
#tmp = dllfunc("EnterPrintMulti");
loaddll "hidemaruapi.dll";
...
...
#tmp = dllfunc("PrintDialog", .... );
...
...
loaddll "tkinfo.dll";
#tmp = dllfunc("LeavePrintMulti");
|
普通に印刷する例:
例 |
#n = sendmessage( hidemaruhandle(0), 0x111, 40119, 0); //40119 = 印刷コマンド
|