Export関数(TKInfo.dll)(Ver7.33対応版)
 Export関数は、「ファイル・エクスポート」コマンドと同じようにメール用のファイルをエクスポートします。
パラメータ1(文字列型)
 エクスポートしたい先のファイル名またはフォルダ名を指定します。パラメータ2でeml形式を指定した場合で"eml-unique"または"emltxt-unique"でない場合はフォルダ名、それ以外の場合はファイル名を表す必要があります。


パラメータ2(文字列型)
 エクスポートするファイルの形式を指定します。以下の文字列が指定できます。
"mbox" From区切りテキストファイル(UNIX MBOX形式)
"hidemarumail" 秀丸メール形式テキストファイル
"eml-number" 1メール1ファイル形式で、ファイル名には連番を割り振ります。
"eml-subject" 1メール1ファイル形式で、ファイル名にはメールのSubject:ヘッダを参考に秀丸メールが自動生成します。
"eml-date" 1メール1ファイル形式で、ファイル名にはメールのDate:ヘッダを参考に秀丸メールが自動生成します。
"eml-unique" 1メール1ファイル形式で、ファイル名はパラメータ1で指定します。
"emltxt-number" 1メール1ファイル形式だけど拡張子が.txt形式で、ファイル名には連番を割り振ります。
"emltxt-subject" 1メール1ファイル形式だけど拡張子が.txt形式で、ファイル名にはメールのSubject:ヘッダを参考に秀丸メールが自動生成します。
"emltxt-date" 1メール1ファイル形式だけど拡張子が.txt形式で、ファイル名にはメールのDate:ヘッダを参考に秀丸メールが自動生成します。
"emltxt-unique" 1メール1ファイル形式だけど拡張子が.txt形式で、ファイル名はパラメータ1で指定します。
"period" ピリオド区切りテキストファイル
 eml-XXXX系を指定した場合でXXXX部分が"unique"でない場合には、パラメータ1はフォルダ名という扱いになります。その他("mbox", "hidemarumail", "period"、"eml-unique"、"emltxt-unique")を指定した場合はファイル名という扱いになります。

 注意:旧バージョンとの互換性確保のため、"hidemarumail"の代わりに"turukame"を指定しても動作します。

 "eml-unique"または"emltxt-unique"を指定した場合で、エクスポートするメールの数が複数の場合、1通目はパラメータ1で指定したファイル名になりますが、2通目以降は括弧で囲んだ数字が付きます。例えば"aaa.txt"を指定した場合、2通目は"aaa(2).txt"になり、3通目は"aaa(3).txt"のようになります。


パラメータ3(文字列型)
 メールのエンコード関係の指定をします。以下の文字列が指定できます。
"noencode" メールをエンコードせずにそのまま(Shift-JIS文字コードで)エクスポートする。
"encode" メールをエンコードしなおしてエクスポートする。ただし、添付ファイルはエクスポートしない。
"encode-attach" メールをエンコードしなおしてエクスポートする。添付ファイルもエクスポートする。(ただし、HTMLメールのHTMLメール部分はエクスポートできない)
"encode-attach-html" メールをエンコードしなおしてエクスポートする。添付ファイルもエクスポートする。HTMLメールはHTML形式で出力する。(Ver5.79から)
"log" エクスポートしようとするメールの受信ログまたは送信ログを検索し、そのログをエクスポートする。(受信したメール内容そのまま正しくエクスポートする)
"noencodeutf8" メールをエンコードせずにUtf-8文字コードでエクスポートする。


パラメータ4(文字列型)
 送信系メールをエクスポートする時に、自動折り返し部分に改行コードを入れるかどうか指定します。"orikaeshi"を指定すると改行コードが挿入され、それ以外を指定するか、または省略すると改行コードを入れずにエクスポートします。


パラメータ5(文字列型)
 エクスポートしようとした先のファイルが既に存在していた場合の処理方法を指定します。
 "truncate"を指定すると、元のファイルを上書きします。
 "append"を指定すると、元のファイルに追加書き込みします。
 何も指定しないか、または""を指定すると、上書きするか追加書き込みするかどうかの問い合わせダイアログボックスを表示します。
 エクスポートするファイルの形式が1メール1ファイル形式の場合でパラメータ2が"eml-unique"または"emltxt-unique"じゃない場合は、ここのパラメータの指定に関係なく、名前を多少変えてエクスポートする動作となります。


パラメータ6(文字列型)
 エクスポートするダイアログボックスにある「タイムスタンプ=メールの送受信日時」の指定をします。
 "transmittimestamp"を指定すると、そこのチェックマークON相当で動作します。
 何も指定しないか、または""を指定すると、OFF相当になります。
 ここのパラメータは秀丸メールV6.99から追加されてる関係で、ここのパラメータに"transmittimestamp"でも""でも数値の0でもない値を指定してもエラーにはならず、単に無視されます。


返り値(数値型)
 エクスポートの初期段階でエラーが発生した場合は0を返しますが、エクスポートの途中でエラーが起きた場合とエラーが何もなかった場合は、ともに1を返します。

 エクスポート中のエラーとは、たとえばメールのエンコードに失敗したとか、あるいはログをエクスポートする時に、対応するログが見つからなかった等です。

 正確なエラー状況を把握するのは困難です。

 Version 6.54β12から、エクスポートに成功したメール数とエクスポートに失敗した(あるいはユーザーさんがキャンセルした)メール数を返す関数が追加されました。成功したメール数は、Export_SuccessCount関数、失敗したメール数は、Export_FailedCount関数で取得できます。返り値は数値型です。


loaddll "tkinfo.dll";
#n = dllfunc("Export", "c:\\tempfolder", "eml-subject", "log");
#success = dllfunc("Export_SuccessCount");
#failed = dllfunc("Export_FailedCount");
message str(#success) + "通をエクスポートして" + str(#failed) + "通をエクスポートしませんでした。";

例2
loaddll "tkinfo.dll";
#n = dllfunc("Export", "c:\\tempfolder", "emltxt-subject", "noencode", "", "", "transmittimestamp");
#success = dllfunc("Export_SuccessCount");
#failed = dllfunc("Export_FailedCount");
message str(#success) + "通をエクスポートして" + str(#failed) + "通をエクスポートしませんでした。";
補足
 SetQuietMode関数でQuietModeがONになっている場合は、Export関数実行中の進捗状況ダイアログボックスは表示されなくなります。(中断も出来なくなります)
 disableerrormsg文でエラーメッセージ表示が抑止されてる場合は、Export関数の中で何かエラーがあってもエラーメッセージ類は一切表示されなくなります。また、受信ログが見つからなかった時の問い合わせメッセージや追加書き込みするのか上書き書き込みするのか等の問い合わせも一切表示されず、すべて標準のボタンが選択された扱いになります。(V6.31β18より)