MakeReplyCustom関数(TKInfo.dll)(Ver7.22対応版)
 この関数は、MakeReply関数と同じように、現在のメールに対する返信メールを作成します。ただし、返信時の宛先や添付ファイルの扱いなど、細かいオプションがパラメータで指定できます。他はMakeReply関数と同じです。

 MakeReply関数だと、複数宛先のメールの場合に宛先を問い合わせるダイアログボックスが出てきてしまう場合があるので、そうならないようにするためにも使えます。
パラメータ1(文字列型)
 返信先を指示します。
"" 通常の返信動作。「全般的な設定・基本・詳細」の「返信メールの宛先」の設定および返信元メールの内容により、返信先の問い合わせダイアログボックスが出たり出なかったりします。
"Single" 送信元のメールアドレスにのみ返信します。「Reply-To:」ヘッダがある場合はそちらになります。
"From" 送信元の「From:」ヘッダ中のアドレスに返信します。「Reply-To:」ヘッダがあっても無視します。
"All" 送信元と、同じメールを受信した人全員に返信します。
"AllWithMe" 送信元と、同じメールを受信した人全員に返信します。「To:」等に自分自身が含まれている場合は、自分自身も含めます。
"Query"  「全般的な設定・基本・詳細」の「返信メールの宛先」が「複数宛先メールの場合に限って返信先を選択する」となっている場合の動作。つまり、返信元メールの内容によって、返信先問い合わせダイアログボックスが出たり出なかったりします。
"QueryEvery"  「全般的な設定・基本・詳細」の「返信メールの宛先」が「返信先および返信オプションを毎回選択する」となっている場合の動作。つまり、返信元メールの内容に関わらず、返信先問い合わせダイアログボックスが必ず出ます。
"AllFrom"  "All"と基本は同じですが、Reply-Toの指定のあるメールの場合に、From:ヘッダのメールアドレスもReply-To:のメールアドレスも含めてすべてに返信します。
"AllFromWithMe"  "AllFrom"と基本は同じですが、もしもFrom:またはReply-To:が自分自身のメールアドレスであって、そのメールアドレスを除外しません。
"QueryAll"  "QueryEvery"と同じく返信先問い合わせを表示しますが、初期状態で「全員へ返信」ボタンを押した状態になって出てきます。
"QueryFrom"  "QueryEvery"と同じく返信先問い合わせを表示しますが、初期状態で「Fromアドレスに返信」をONにした状態になって出てきます。
"QueryAllFrom"  "QueryEvery"と同じく返信先問い合わせを表示しますが、初期状態で「Fromアドレスに返信」をONにして、さらに「全員へ返信」ボタンを押した状態になって出てきます。


パラメータ2(文字列型)
 添付ファイルを付けるかどうかを指示します。
"" 返信元のメールに添付ファイルがあっても、返信メールには添付しません。
"CopyAttach" 返信元のメールに添付ファイルがある場合は、返信メールにもそのファイルを添付します(転送メールのような動作となります)。


パラメータ3(文字列型)
 特定のメールについて「返信メール」を実行してエディタが起動した状態で、その特定のメールについて多重に「返信メール」を実行した場合についての動作を、このパラメータ1で指定します。
 パラメータ3を省略した場合または""を指定した場合は、多重返信メールを作成しないで既存の返信メールを表に出すような動作となります。
 パラメータ3に"QueryMultiReply"を指定すると、多重返信するかどうかの問い合わせメッセージが出てきます。
 パラメータ3に"ForceMultiReply"を指定すると、問い合わせメッセージを出すことなく多重返信メールを作成します。


パラメータ4(文字列型)
 返信メール用のテンプレートを指定します。省略するか、または数値の0または文字列の""を指定すると、状況に合わせたテンプレート(普通だとアカウント毎の設定で指定したテンプレート)が自動で選択されます。
 このパラメータは秀丸メールV7.13から使えます。


返り値(数値型)
 成功すると1、失敗すると0を返します。失敗する例としては以下のような物があります。

  • 返信メール用のエディタが既に起動している場合。
  • 秀丸メール本体で実行した場合で、メールが何も選択されてない場合。
  • 現在のメールが書き換え許可で、しかも何か書き換えた形跡がある場合。
  • 返信メールのエディタ起動で何らかの内部エラーが発生した場合。
    (例えばエディタ起動数の制限などのエラー)


#n = dllfunc( "MakeReplyCustom", "Single", "" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;