|
SetHeader/SetHeader2/AddHeader/DeleteHeader/DeleteHeader2/SetOrDeleteHeader/AddHeaderIf関数(TKInfo.dll)(Ver6.14対応版)
SetHeader関数は、現在編集中のメールのヘッダ部分から指定されたヘッダを検索し、その内容を書き換えます。指定されたヘッダが見つからない場合は新たに追加します。
SetHeader2関数は、書き換えたいヘッダが複数存在していた場合のための関数で、書き換えたいヘッダの番号を指定して、そのヘッダの内容を書き換える処理のみを行います。
AddHeader関数は、現在編集中のメールにパラメータで指定されたヘッダおよび内容を追加します。
DeleteHeader関数は、パラメータで指定されたヘッダを1つ削除します。DeleteHeader2関数は、削除したいヘッダが複数存在していた場合に、そのヘッダの番号を指定できる物です。
SetOrDeleteHeader関数は、パラメータで指示したヘッダ内容文字列がもしも空("")ならDeleteHeaderし、空でなければSetHeaderします。AddHeaderIf関数は、もしもパラメータで指示したヘッダ内容が空なら何もせず、空で無ければAddHeaderします。
これらの関数は、エディタ・ウィンドウ上で、編集が許可された状態になっている時か、または秀丸メール本体上でBeginEditMailした状態でないと使えません。
これらの関数は、テンプレートからヘッダ部分を書き換えるために用意した物ですが、普通のマクロからも使えます。ただし、これを実行するとメールの「更新されている」のフラグおよびアンドゥ用のバッファがクリアされ、
カーソルはヘッダ部分の先頭に移動してしまいます。
- パラメータ1(文字列型)
-
ヘッダ名です。"From"のように指定しても、"From:"のようにコロン付きで指定してもかまいません。
- パラメータ2(SetHeader, SetHeader2, AddHeader, SetOrDeleteHeader, AddHeaderIf関数、文字列型)
-
ヘッダの内容部分です。ここの値の最後に改行文字が付いている場合には、その改行文字は取り除かれます。
- パラメータ2(DeleteHeader2関数、数値型)
-
削除したいヘッダの番号です。先頭が0です。
- パラメータ3 (SetHeader2関数のみ)
-
書き換えたいヘッダの番号です。先頭が0です。
- 返り値
-
SetHeader関数およびAddHeader関数の返す値は文字列型であり、常に""を返します。
SetHeader2関数の返す値は数値型であり、成功した場合は1、失敗した場合は0を返します。例えばパラメータ3に1を指定したけれども、ヘッダが1つしか無かった場合は書き換えに失敗し、0を返します(ヘッダの追加はしません)。
DeleteHeader, DeleteHeader2関数の返す値は数値型であり、実際にヘッダを削除した場合は1、削除しなかった場合(指定されたヘッダが無かった場合)は0を返します。DeleteHeader関数は同じヘッダを複数見つけても最初の1つしか削除しないので、すべて削除したい場合は返り値が0になるまで繰り返し呼び出す必要があります。
SetOrDeleteHeader関数、AddHeaderIf関数の返り値は常に""となります。
例 |
$s = dllfuncstr( "SetHeader", "Reply-To", "abc@xyz" );
#n = dllfunc( "SetHeader2", "Received", "abc@xyz", 1 );
$s = dllfuncstr( "AddHeader", "Bcc", "abc@xyz" );
#n = dllfunc( "DeleteHeader", "X-TuruKame-PartialSend" );
#n = dllfunc( "DeleteHeader2", "X-Attach", 1 );
#n = dllfunc( "SetOrDeleteHeader", "Cc", dllfuncstr("RootHeader", "Cc") );
#n = dllfunc( "AddHeaderIf", "Cc", dllfuncstr("RootHeader", "Cc") );
|
|