Copy, CopyWithCopyAttach関数(TKInfo.dll)(Ver7.33対応版)
Copy関数は、現在選択しているメール(複数の場合は複数)を他のフォルダにコピーします。コピー先に現在のフォルダを指定すると、現在のフォルダに二重にメールを作成します。この関数は、秀丸メール本体ウィンドウ上か、または検索結果の一覧上でのみ実行できます。
CopyWithCopyAttach関数もCopyと同じくメールをコピーしますが、こちらの方は、コピーされるメールに添付ファイルやHTMLメールが付いてる場合、そのファイルもコピーして、X-Attach:およびX-Html:ヘッダには、そのコピーされたファイルへのリンクが入る動作となります。普通のCopy関数または秀丸メール上でのユーザーさんの操作や振り分けアクションでコピーされる場合で同一アカウント内でのメールのコピーの際は、添付ファイルやHTMLメール用ファイルはコピーされず、同じファイルに対して複数のメールがX-Attach:およびX-Html:ヘッダにてリンクされる動作になります。
- パラメータ1
-
コピー先のフォルダを含むアカウント名です。現在のアカウントと同じ場合は""を指定することもできます。
- パラメータ2
-
コピー先のフォルダ名です。
- パラメータ3
-
パラメータ3に数値の1を指定すると、メールをコピーする時に出てくる各種の警告を出さないように出来ます。例えばアカウントをまたがってコピーする時の警告や、送信済みメールを未送信フォルダにコピーする時の警告メッセージを抑止可能です。ただし、未送信メールを送信済みフォルダ配下にコピーする時の警告を出さなくすることは出来ません。(しいてやるならSetAutoPushTimerを使うことで可能ですが)
スレッド表示の時に、配下のメールをいっしょにコピーするかどうかについては、このパラメータは影響しません。
パラメータ3に数値の0を指定するか、またはパラメータ3自体を省略すると、普通のコピーと同じく、状況によって各種の警告が出ます。
- 返り値(数値型)
-
コピーに成功した場合は0以外、失敗した場合には0を返します。コピー先のフォルダが存在しなかった場合は何もエラーメッセージを出さずに失敗します。なお、ファイルの作成に失敗したり、書き込みに失敗したりした場合は、エラーメッセージも出してから0を返します。
- 補足
-
アカウント直下にユーザーが作成されたフォルダは、秀丸メール内部では、アカウント直下ではなく、アカウント直下の「User」というフォルダの配下に存在しているような扱いとなっています。マクロ上でもそれがそのまま適用されます。
例えばアカウント直下に「ABC」というフォルダがある場合、指定するフォルダ名は「User\ABC」となります。他、フォルダを扱う関数では、すべて「User」が間に入ってくることにご注意ください。
スレッド表示の時に、配下のメールをいっしょにコピーするかどうかの問い合わせメッセージを出さなくするには、DisableThreadTreeOperation関数を使ってください。
例 |
#n = dllfunc( "Copy", "", "受信\\テスト" );
#n = dllfunc( "Copy", "テストアカウント", "User\\テスト" );
#n = dllfunc( "CopyWithCopyAttach", "テストアカウント", "User\\テスト" );
|