カテゴリー
Wiki内検索
*
最近更新したページ
最新コメント
win32/guitest by stunning seo guys
FrontPage by stunning seo guys
SWIG by awesome things!
Win32/Console by stunning seo guys
FrontPage by awesome things!
Win32SDK_ICM by stunning seo guys
Win32SDK_MM by check it out
Win32SDK_process by stunning seo guys
VisualuRuby by stunning seo guys

秀丸メールマクロヘルプ7

コマンド一覧

メールの作成関係





NewMail関数(TKInfo.dll)


 この関数は、新規メールコマンドを実行します。マクロは新規メールで作成されたエディタ・ウィンドウ上で続行されます。
 普通、新規メールコマンドを実行すると、アカウント毎の設定等で指定されている自動実行マクロがあれば実行されます。しかし、このNewMail関数の場合、自動実行マクロは実行されません。
 自動実行マクロも実行したい場合には、別途、NewEditorMacro関数を使ってマクロファイル名を取り出し、execmacro文で実行してください。

 NewMail関数を使わなくても、秀丸マクロのnewfile文でも同じことができます。

返り値(数値型)


 成功すると1、失敗すると0を返します(普通、失敗することはありえませんが)。



#n = dllfunc( "NewMail" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;


参考


NewMail関数を使う他に、秀丸メール起動時のコマンドラインの"newmail"を使って新規メールを起動することもできます。

 たとえばrunsync2文を使って、

    runsync2 "turukame.exe newmail template=\"テストテンプレート\" sign=1";

 のような形でテンプレート指定の新規メールを作成できます。この場合、NewMail関数と違ってマクロの実行は起動元のウィンドウ上で続行されるので、その点だけ注意してください。





MakeReply関数(TKInfo.dll)


 この関数は、現在のメールに対する返信メールを作成します。マクロの実行は返信メール用のエディタ・ウィンドウ上で続行されます。
 普通、返信メールコマンドを実行すると、アカウント毎の設定等で指定されている自動実行マクロがあれば実行されます。しかし、このMakeReply関数の場合、自動実行マクロは実行されません。
 自動実行マクロも実行したい場合には、別途、NewEditorMacro関数を使ってマクロファイル名を取り出し、execmacro文で実行してください。



返り値(数値型)


 成功すると1、失敗すると0を返します。失敗するケースとしては、以下の例があります。

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


#n = dllfunc( "MakeReply" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;





MakeReplyCustom関数(TKInfo.dll)


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

 MakeReply関数だと、複数宛先のメールの場合に宛先を問い合わせるダイアログボックスが出てきてしまう場合があるので、そうならないようにするためにも使えます。


パラメータ1(文字列型)


 返信先を指示します。

""通常の返信動作。「全般的な設定・基本・詳細」の「返信メールの宛先」の設定および返信元メールの内容により、返信先の問い合わせダイアログボックスが出たり出なかったりします。
"Single"送信元のメールアドレスにのみ返信します。「Reply-To:」ヘッダがある場合はそちらになります。
"From"送信元の「From:」ヘッダ中のアドレスに返信します。「Reply-To:」ヘッダがあっても無視します。
"All"送信元と、同じメールを受信した人全員に返信します。
"AllWithMe"送信元と、同じメールを受信した人全員に返信します。「To:」等に自分自身が含まれている場合は、自分自身も含めます。
"Query"「全般的な設定・基本・詳細」の「返信メールの宛先」が「複数宛先メールの場合に限って返信先を選択する」となっている場合の動作。つまり、返信元メールの内容によって、返信先問い合わせダイアログボックスが出たり出なかったりします。
"QueryEvery"「全般的な設定・基本・詳細」の「返信メールの宛先」が「返信先および返信オプションを毎回選択する」となっている場合の動作。つまり、返信元メールの内容に関わらず、返信先問い合わせダイアログボックスが必ず出ます。

パラメータ2(文字列型)


 添付ファイルを付けるかどうかを指示します。

""返信元のメールに添付ファイルがあっても、返信メールには添付しません。
"CopyAttach"返信元のメールに添付ファイルがある場合は、返信メールにもそのファイルを添付します(転送メールのような動作となります)。

返り値(数値型)


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

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



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





MakeForward関数(TKInfo.dll)


 この関数は、現在のメールに対する転送メールを作成します。マクロの実行は転送メール用のエディタ・ウィンドウ上で続行されます。
 普通、転送メールコマンドを実行すると、アカウント毎の設定等で指定されている自動実行マクロがあれば実行されます。しかし、このMakeForward関数の場合、自動実行マクロは実行されません。
 自動実行マクロも実行したい場合には、別途、NewEditorMacro関数を使ってマクロファイル名を取り出し、execmacro文で実行してください。



返り値(数値型)


 成功すると1、失敗すると0を返します。失敗する例としては以下の物があります。

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



#n = dllfunc( "MakeForward" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;





MakeAttachForward関数(TKInfo.dll)


 この関数は、「添付ファイルとして転送」コマンドを実行します。エディタ上で実行する事もできます。
 普通、「添付ファイルとして転送」コマンドを実行すると、アカウント毎の設定等で指定されている自動実行マクロがあれば実行されます。しかし、このMakeAttachForward関数の場合、自動実行マクロは実行されません。
 自動実行マクロも実行したい場合には、別途、NewEditorMacro関数を使ってマクロファイル名を取り出し、execmacro文で実行してください。


返り値(数値型)


 成功すると1、失敗すると0を返します。


備考


 普通の「添付ファイルとして転送」コマンドをエディタ上で実行した場合、現在のメールをいったん閉じてから添付ファイル付きの新規メールが作成されます。しかし、MakeAttachForward関数をエディタ上で実行した場合は、現在のメールを閉じることなく、別のウィンドウとして添付ファイル付きのエディタが起動します。元のエディタ・ウィンドウは何らかの方法でうまく閉じてください。

 例えば、
	#handle = hidemaruhandle(0);
	#n = dllfunc("MakeAttachForward");
	closehidemaruforced #handle;
 のようにしてください。


#n = dllfunc( "MakeAttachForward" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;





MakeResentForward関数(TKInfo.dll)


 この関数は、現在選択しているメールを対象に、「ファイル・そのまま転送」コマンドに相当する動作をします。


パラメータ1(文字列型)


 転送する宛先を指定します。ここで指定した文字列は、作成されるメールの「Resent-To:」ヘッダに設定されます。


パラメータ2(文字列型)


 メールの作成方法を指定します。以下の値が指定できます。

"sendlater"あとで送信(作成した転送メールを未送信フォルダに保存する)。
"sendnow"今すぐ送信(作成した転送メールを今すぐ送信する)。
"open"エディタで開く(作成した転送メールをどこにも保存しないでエディタで開いた状態にする)。

 複数のメールを選択した状態の時は、"sendlater"のみ使ってください。他の動作を指定しても一応動きますが、エディタの起動できる数に制限があるのでエディタ起動の時点でエラーになる可能性が高いです。

 "sendnow"を指定する場合は、マクロを速やかに終了させてください。"sendnow"を指定することは、StartTransmitAll関数を呼び出すのと同じような処理となりまして、マクロは待機しません。また、実際に送信したかどうかの結果を得ることもできません。


パラメータ3(文字列型)


 ログを転送するのか、それとも現在メールをエンコードしなおして転送するか指定します。"log"を指定するとログを転送し、""または数値の0またはパラメータ自体を省略した場合は現在のメールをエンコードして転送します。


返り値(数値型)


 成功すると1、失敗すると0を返します。

 パラメータ2に"sendnow"を指定した場合には、実際にメールが送信されるかどうかに関係なく、送信用のエディタを起動した段階で1を返します。



#n = dllfunc("MakeResentForward", "PEH00775@nifty.ne.jp", "sendlater", "log");





OpenMail関数(TKInfo.dll)


 この関数は、現在秀丸メールの本体ウィンドウで表示しているメールをメールエディタ・ウィンドウで開きます。秀丸メール本体ウィンドウ上でのみ実行できます。


返り値(数値型)


 成功すると1、失敗すると0を返します。



#n = dllfunc( "OpenMail" );





OpenRootMail,OpenReplyMail,OpenForwardMail,OpenLog関数(TKInfo.dll)


 OpenRootMail関数は、「関連するメール・返信元または転送元メール」コマンド、
 OpenReplyMail関数は、「関連するメール・このメールへの返信メール」コマンド、
 OpenForwardMail関数は、「関連するメール・このメールを元にした転送メール」コマンド、
 OpenLog関数は、「関連するメール・このメールのログ」コマンド、

 を実行します。


返り値(数値型)


 成功すると1、失敗すると0を返します。

 失敗した場合は普通エラーメッセージが表示されますが、disableerrormsgしている状態だとエラーメッセージを表示することなく0で復帰します。



#n = dllfunc( "OpenRootMail" );
#n = dllfunc( "OpenReplyMail" );
#n = dllfunc( "OpenForwardMail" );
#n = dllfunc( "OpenLog" );





Sync, SyncGrep, BackSync関数(TKInfo.dll)


 Sync関数は、現在メールエディタ・ウィンドウが開いているメールを秀丸メール本体側で選択した状態にします。
 BackSync関数は、逆に秀丸メール本体ウィンドウで現在選択しているメールを、現在のメールエディタで表示させます。
 SyncGrep関数は、現在メールエディタ・ウィンドウが開いているメールを検索結果の一覧上で選択した状態にします。
 これらの関数は、メールエディタ・ウィンドウ上でのみ実行できます。
 BackSync関数は、メールエディタが編集中の場合(新規メールの作成中などの場合)にエラーになります。

 SyncGrep関数を実行した後にマクロがどのウィンドウで続行されにかについては保証できません。もしかしたら検索結果のウィンドウ上のエディタ部分で続行されるかもしれません。(将来そういう仕様になるかもしれません)


返り値(数値型)


 成功すると1、失敗すると0を返します。失敗する場合には、「現在のメールと一覧中のメールとの対応関係が分かりませんでした。」のようなメッセージが出てから復帰します。



#n = dllfunc( "Sync" );
#n = dllfunc( "BackSync" );
#n = dllfunc( "SyncGrep" );


補足


 Sync関数は、メールエディタ上で「このメールを秀丸メール本体側で選択する」コマンドを実行した場合と違い、秀丸メール本体ウィンドウをアクティブにすることなく終了します。必要に応じてSetMainWndTop関数を呼ぶなどしてください。
 SyncGrep関数は、エディタ上での「このメールを検索結果の一覧上で選択する」とまったく同じ動きをします。





ClearUpdated関数(TKInfo.dll)


 この関数は、現在のメールエディタ・ウィンドウ上での編集の操作による「編集マーク」を消去し、新規作成した時の状態に戻します。
 編集マークとは、編集の加わった行に付くマークのことで、この関数を使ったり保存したりすると消える物です。
 編集マークの無くなったメールは、そのままEscキーでキャンセルすると、「保存しますか?」のメッセージを出すことなく消滅します。
 例えば、新規メールで作成したメールに自動登録したマクロで何か修正を加える場合、修正後にこの関数を呼んでおくと便利です。

返り値(数値型)


 返り値に意味はありません。



#n = dllfunc( "ClearUpdated" );





NewEditorMacro/SendMacro関数(TKInfo.dll)


 NewEditorMacro関数は、新規メール/返信メール/転送メールコマンドで出てきたエディタ・ウィンドウの、自動実行用のマクロのファイル名を返します。
 新規メールコマンド等で出てきたエディタ・ウィンドウ上でないと、正しい値を返しません。
■V1.94からの仕様変更
 テンプレートのExecMacro命令で自動実行マクロが指定された場合は、そちらが優先されます。例えば新規メール用のテンプレートに$(ExecMacro,test.mac)と書かれていた場合には、新規メールコマンドで出てきたエディタ上でNewEditorMacroを呼び出すと"test.mac"が返ります。

 SendMacro関数は、「あとで送信/今すぐ送信時」用に登録されたマクロファイル名を取り出します。


返り値(文字列型)


 自動実行用のマクロが登録されている場合はそのファイル名、何も登録されてない場合は""を返します。



#n = dllfunc( "NewMail" );
$s = dllfuncstr( "NewEditorMacro" );
if( $s != "" ) execmacro $s;





EnableEdit関数(TKInfo.dll)


 この関数は、送信済みメールや受信メールをエディタ・ウィンドウで開いている時に、「編集を許可」します。
 エディタ・ウィンドウ上で、編集が禁止された状態になっている時にのみ有効な関数です。
 編集できる状態かどうかは、秀丸マクロのreadonlyキーワードを使えば分かります。

 編集許可したメールを保存するには、秀丸マクロのsave文を使います。


返り値(数値型)


 成功した場合は1、そうでない場合は0を返します(普通、失敗しませんが)。



#n = dllfunc( "EnableEdit" );





BeginEditMail/CancelEditMail/SaveEditMail関数(TKInfo.dll)


 BeginEditMail関数は、秀丸メール本体上で、マクロによるメールの書き換えを許可します。
 SaveEditMail関数は、書き換えた内容を実際にメールとして保存します。
 CancelEditMail関数は、BeginEditMailを呼んだけれども保存したくなかった場合に呼び出すための関数です。

 BeginEditMail関数でメール書き換えを開始したら、CancelEditMail/SaveEditMail関数を呼ぶまで、他のメールを選択するような操作(たとえばSetMailIndex関数を呼ぶなど)はしないでください。そうした場合はSaveEditMail関数が失敗します。

制限事項!


 秀丸メール本体上でBeginEditMail等を使ってメールのヘッダ部分を書き換える場合、SetHeader、SetHeader2、AddHeader、DeleteHeaderの4種類のヘッダ書き換え関数を使ってのみ書き換えが可能です。
 SetHeader関数などで書き換えた内容は、SaveEditMail関数を呼ぶまでの間、秀丸メール本体内のエディタにはまったく反映されません。SetHeaderで書き換えたヘッダをCurrentHeader関数などで参照すると、SetHeaderする前の値が返ってきてしまいます。
 本文部分を書き換える場合、readonlyswitch文やbrowsemodeswitch文をうまく組み合わせて書き換えた後、SaveEditMail関数のパラメータ2に1を指定する必要があります。パラメータ2に0を指定すると、エディタ内での本文についての書き換え内容は破棄されます。

 なお、エディタ内でヘッダ部分を書き換えても、それらはすべて破棄されます。
 BeginEditMailした状態でSwitchHeaderView関数やSwitchOrikaeshi関数などの、エディタの表示内容を変更する系の関数を呼ばないでください。


パラメータ1(SaveEditMail関数)


 0を指定すると、メールが書き変わった後に、メール一覧の並び順がそのまま維持されます。
 1を指定すると、必要に応じてメール一覧がソートしなおされます。

 たとえば、Subject順でソートされていたメールの「Subject:」部分が書き換えられた時、パラメータ1の状態によってソートしなおされたり、されなかったりします。

 メールの並び順が変わってしまうと都合が悪い場合は0にしてください。たとえばフォルダ内のメールを全部書き換えるような処理をする場合は0でないとダメなはずです。


パラメータ2(SaveEditMail関数)


 0を指定すると、ヘッダ部分の書き換え内容のみが保存されます。
 1を指定すると、ヘッダ(SetHeader関数などで書き換えられた物)と本文の両方の書き換え内容が保存されます。


返り値(数値型)


 BeginEditMailおよびSaveEditMail関数は、成功すると1、失敗すると0を返します。
 CancelEditMail関数には返り値に意味はありません。


例(メモを書き換える例)


	loaddll "tkinfo.dll";
	#n = dllfunc("BeginEditMail");
	#n = dllfunc("SetHeader","X-Memo","aaaa");
	#n = dllfunc("SaveEditMail", 0, 0 );


例(本文を書き換える例)


	loaddll "tkinfo.dll";
	#n = dllfunc("BeginEditMail");
	#r = readonly;
	#b = browsemode;
	if( #r ) readonlyswitch;
	if( #b ) browsemodeswitch;
	gofiletop;
	insert "テストテスト\n";
	#n = dllfunc("SaveEditMail", 0, 1 );
	if( #r ) readonlyswitch;
	if( #b ) browsemodeswitch;





SetHeader/SetHeader2/AddHeader/DeleteHeader/DeleteHeader2関数(TKInfo.dll)


 SetHeader関数は、現在編集中のメールのヘッダ部分から指定されたヘッダを検索し、その内容を書き換えます。指定されたヘッダが見つからない場合は新たに追加します。
 SetHeader2関数は、書き換えたいヘッダが複数存在していた場合のための関数で、書き換えたいヘッダの番号を指定して、そのヘッダの内容を書き換える処理のみを行います。
 AddHeader関数は、現在編集中のメールにパラメータで指定されたヘッダおよび内容を追加します。
 DeleteHeader関数は、パラメータで指定されたヘッダを1つ削除します。DeleteHeader2関数は、削除したいヘッダが複数存在していた場合に、そのヘッダの番号を指定できる物です。

 これらの関数は、エディタ・ウィンドウ上で、編集が許可された状態になっている時か、または秀丸メール本体上でBeginEditMailした状態でないと使えません。

 これらの関数は、テンプレートからヘッダ部分を書き換えるために用意した物ですが、普通のマクロからも使えます。ただし、これを実行するとメールの「更新されている」のフラグおよびアンドゥ用のバッファがクリアされ、カーソルはヘッダ部分の先頭に移動してしまいます。


パラメータ1(文字列型)


 ヘッダ名です。"From"のように指定しても、"From:"のようにコロン付きで指定してもかまいません。


パラメータ2(SetHeader, SetHeader2, AddHeader関数、数値型)


 ヘッダの内容部分です。ここの値の最後に改行文字が付いている場合には、その改行文字は取り除かれます。

パラメータ2(DeleteHeader2関数、数値型)


 削除したいヘッダの番号です。先頭が0です。


パラメータ3 (SetHeader2関数のみ)


 書き換えたいヘッダの番号です。先頭が0です。


返り値


 SetHeader関数およびAddHeader関数の返す値は文字列型であり、常に""を返します。

 SetHeader2関数の返す値は数値型であり、成功した場合は1、失敗した場合は0を返します。例えばパラメータ3に1を指定したけれども、ヘッダが1つしか無かった場合は書き換えに失敗し、0を返します(ヘッダの追加はしません)。

 DeleteHeader関数の返す値は数値型であり、実際にヘッダを削除した場合は1、削除しなかった場合(指定されたヘッダが無かった場合)は0を返します。DeleteHeader関数は同じヘッダを複数見つけても最初の1つしか削除しないので、すべて削除したい場合は返り値が0になるまで繰り返し呼び出す必要があります。


$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 );





SetEditorAccount関数(TKInfo.dll)


 この関数は、現在のエディタが内部的に保持しているアカウントの情報を書き換えます。この関数で書き換えることができるのは、「新規メール」、「返信メール」、「転送メール」などで起動したエディタ上で、まだメールを保存する前の段階であることが必要です。既にメールを草稿フォルダなどに保存した場合や、送信済みメールを開いている場合にはアカウントの変更はできません。

 アカウントを変更すると、メールを保存または送信する時に、指定されたアカウント配下に保存されたり、そのアカウント配下のメールとして送信されたりします。

 この関数で切り替えできるのはエディタ内部で保持しているアカウントの情報のみであり、メール中の「From:」部分などは書き換えません。その部分を書き換えたい場合はSetEditorAccount2を使ってください。


パラメータ1(文字列型)


 アカウント名を指定します。アカウント名は、別途Account関数などで取得してください。


返り値(数値型)


 書き換えに成功すると0以外を返します。失敗するとエラーメッセージを表示すること無く0を返すのみです。



#n = dllfunc( "SetEditorAccount", "斉藤秀夫");





SetEditorAccount2関数(TKInfo.dll)


 この関数は、現在編集中のメールの「From:」部分を他のアカウントのFrom部分相当に切り換えます。さらに、パラメータの指定により、このメールが所属するアカウントも変更します。

 この関数は、「From:」ばかりでなく、必要に応じて「Reply-To:」ヘッダや「Bcc:」ヘッダの値も書き換えることがあります。また、アカウント毎の設定(あるいはフォルダ毎の設定)によって本文に付加された署名がある場合は、その署名についても切り換えることができます。

 この関数が行うことは、メールの「From:」ヘッダ部分でAlt+↓キーによる入力補助メニューから行うアクションと同じです。

パラメータ1(文字列型)


 アカウント名を指定します。アカウント名は、別途Account関数などで取得してください。


パラメータ2(数値型)


 メールのヘッダ部分のみを書き換えたい場合は1、アカウント自体も変更したい場合は0を指定してください。

 メールが既に保存されている場合には、パラメータ2に0を指定しないでください。0を指定してもアカウントの変更はできません。ただし、その場合でもヘッダ部分の書き換えは実行され、返り値も0以外(正常終了)となります。


返り値(数値型)


 書き換えに成功すると0以外を返します。失敗するとエラーメッセージを表示すること無く0を返すのみです。



#n = dllfunc( "SetEditorAccount2", "斉藤秀夫", 0);


備考


 この関数の行う動作は入力補助メニューによる操作と同じなので、この関数を呼び出すことによって「署名も切り換えますか?」等の問い合わせメッセージが表示される場合があります。





AccountFrom、AccountReplyTo関数(TKInfo.dll)


 AccountFrom関数は、パラメータで指定されたアカウントに登録された個人情報から、新規メール作成時用の「From:」ヘッダの内容を生成して返します。AccountReplyTo関数は、同じくアカウントの情報から「Reply-To:」ヘッダの内容を生成して返します。

 これらの関数は、SetEditorAccountでアカウントを切り換えたときにメールのヘッダを書き換えるために用意されています。


パラメータ1(文字列型)


 アカウント名を指定します。アカウント名は、別途Account関数などで取得してください。


返り値(文字列型)


 「From:」の内容文字列または「Reply-To:」の内容文字列です。中身が無い場合は""を返します。



$From = dllfuncstr( "AccountFrom", dllfuncstr("CurrentAccount") );
$ReplyTo = dllfuncstr("AccountReplyTo", dllfuncstr("CurrentAccount") );





AddAttach, UndoAttach関数(TKInfo.dll)


 AddAttach関数は、パラメータで指定されたファイルを添付ファイルとして追加します。UndoAttach関数は、逆に添付ファイルを取り消します。

 これらの関数は、送信用のメールのエディタ中でのみ実行可能です。それ以外で実行すると失敗します。
 受信したメールで添付ファイルを削除するには、DeleteAttach関数を使ってください。


パラメータ1(文字列型)


 添付ファイルのファイル名を指定します。AddAttachの場合は任意のファイル名が指定でき、指定されたファイルは秀丸メール用の添付ファイル用フォルダにコピーされます。
 UndoAttachの場合は、ここには取り消したいファイル名を、「X-Attach:」ヘッダに書いてあるのとまったく同じ文字列で指定する必要があります。CurrentHeader関数などで「X-Attach:」ヘッダの内容を取り出して渡すようにしてください。


返り値(数値型)


 成功した場合は1、失敗した場合は0を返します。



#n = dllfunc("AddAttach", "c:\\temp.txt");
$s = dllfuncstr("CurrentHeader", "X-Attach");
#n = dllfunc("UndoAttach", $s );





DeleteAttach関数(TKInfo.dll)


 DeleteAttach関数は、現在メール中のパラメータで指定された添付ファイルを削除します。UndoAttachと違い、受信したメール中の添付ファイルを削除するのに使います。


パラメータ1(文字列型)


  削除したい添付ファイルのファイル名を、メール中の「X-Attach:」ヘッダに書いてあるのとまったく同じ文字列で指定します。X-Attach:ヘッダに入っている文字列と少しでも違っていると失敗します。


パラメータ2(文字列型)


 添付ファイルを削除するのみの場合は0、添付ファイルを削除し、メール中の該当するX-Attach:ヘッダをいっしょに削除したい場合は1、メール中のX-Attach:ヘッダをX-DelAttach:ヘッダに改変させたい場合は2を指定します。


返り値(数値型)


 成功した場合は1、失敗した場合は0を返します。


備考


 添付ファイルをすべて削除すると、添付ファイル用のフォルダもいっしょに削除されます。
 添付ファイルをWindowsのゴミ箱に入れる操作は出来ません。完全に削除されます。



#n = dllfunc("DeleteAttach", dllfuncstr("CurrentHeader", "X-Attach"), 0);





RenameAttach関数(TKInfo.dll)


 RenameAttach関数は、現在選択しているメール中の指定された添付ファイルのファイル名を変更します。

 この関数は、送信系のメールでも受信系のメールでもどこでも実行できます。ただし、受信系のメール上で実行した場合や秀丸メール本体ウィンドウ上で実行した場合には、メールが改変された扱いになることがあります。


パラメータ1(文字列型)


 名前変更したい添付ファイルのファイル名を、メール中の「X-Attach:」ヘッダに書いてあるのとまったく同じ文字列で指定します。X-Attach:ヘッダに入っている文字列と少しでも違っていると失敗します。


パラメータ2(文字列型)


 新しいファイル名を指定します。


返り値(数値型)


 成功した場合は1、失敗した場合は0を返します。



#n = dllfunc("RenameAttach", dllfuncstr("CurrentHeader", "X-Attach"), "aaa.txt");





GetDontOrikaeshi, SwitchDontOrikaeshi関数(TKInfo.dll)


 GetDontOrikaeshi関数は、現在の行が折り返し禁止になっているかどうかを返します。範囲選択されている場合は選択された範囲全体について折り返し禁止かどうか(または混在しているかどうか)を返します。

 SwitchDontOrikaeshi関数は、エディタの「編集・現在行の折り返し禁止」コマンドを実行します。範囲選択した状態で呼び出せば、選択した範囲について折り返し禁止のON/OFF切り換えをします。

 SwitchDontOrikaeshi関数は、編集可能なエディタ上でしか実行できません。


返り値(数値型)


 GetDontOrikaeshi関数は、折り返し禁止の場合は1,折り返し禁止でない場合(普通の場合)は0を返します。
 範囲選択している場合で、その選択された範囲内に折り返し禁止行と折り返し禁止でない行が混在している場合は2を返します。

 SwitchDontOrikaeshi関数の返り値には意味がありません。正しく折り返し禁止を切り換えたかどうかも返しません。



#n = dllfunc("SwitchDontOrikaeshi");





GetEncodedSize関数(TKInfo.dll)


 GetEncodedSize関数は、現在のメールをエンコードした場合のサイズを返します。送信用のメールを作成している状態で、そのメールが送信した場合に何バイトになるのか知る必要がある場合に使います。

 この関数は秀丸メール本体上や受信メールの場合でも使えますが、たとえば受信したメールについてGetEncodedSizeを求めても、それが実際に送られてきたメールのサイズと一致するとは限りません(だいたい同じサイズになる可能性は高いですが)。


返り値(数値型)


 メールのサイズを返します。内部的に一度エンコードして計算した値を返します。
 サイズの計算に失敗した場合には0を返します。(エラーの内容は知ることができません)



#n = dllfunc("GetEncodedSize");





CreateMessageId関数(TKInfo.dll)


 CreateMessageId関数は、新しいメッセージIDを1つ生成します。


パラメータ1(文字列型)


 メッセージIDを生成するための元となるメールアドレスを指定します。一般に、メールのFrom:ヘッダ中のメールアドレスを指定すればいいですが、分からなければ、とにかくメールアドレス的な文字列をなんでも指定してかまいません。
 ここのパラメータを省略すると、"@unknown"というメールアドレスが指定された物と解釈されます。


返り値(文字列型)


 メッセージID文字列です。前後が<>で囲まれた形で返ります。なので、ここの返り値をそのままMessage-Idヘッダに書き込んで使うことが出来ます。



    $from = dllfuncstr("CurrentHeader","From");
    $from = dllfuncstr("SetEmailOnly",$from);
    $id = dllfuncstr("CreateMessageId", $from);
    #n = dllfunc("SetHeader", "Message-Id", $id);
2006年05月08日(月) 04:31:22 Modified by aqualung




スマートフォン版で見る