GetMailFlag/SetMailFlag関数(TKInfo.dll)(Ver7.33対応版)
GetMailFlagは、メール毎に存在する各種のフラグの値を取得します。SetMailFlagはそれらのフラグの値を書き換えます。
この関数は秀丸メール本体上でもメールエディタ上でも実行できます。
- パラメータ1(文字列型)
-
フラグの種類を指定します。フラグの種類には以下の名前が指定できます。
attach | 添付ファイル付きかどうか |
send | 送信系メールかどうか |
messageid | Message-IDを含んだメールかどうか |
inreplyid | 「In-Reply-To:」または「References:」付きのメールかどうか |
mark | マークされているかどうか |
cc | 複数宛先メールかどうか |
encoded | エンコードされた形かどうか(受信ログ/送信ログかどうか) |
priority1 | 「優先度=高」かどうか |
orikaeshi | 自動折り返しがONかどうか |
sent | 送信済みメールかどうか(送信系の場合のみ) |
html | HTMLメールかどうか(受信系の場合のみ) |
reply | 受信系の場合、返信済みかどうか |
forward | 受信系の場合、転送済みかどうか |
unread | 未読かどうか |
altered | 改変されたかどうか |
hot | 新着メールかどうか |
memo | メモ付きかどうか |
sentunknown | 送信されたかどうか不定 のフラグ |
spam | 迷惑メールかどうか |
- パラメータ2(SetMailFlagのみ、数値型)
-
フラグをセットする場合は1、リセットする場合は0を指定します。SetMailFlagできるフラグは、send, mark, orikaeshi, sent, reply, forward, unread, altered, hot, sentunknownのみで、他のフラグは書き換えできません。
- 返り値(数値型)
-
GetMailFlag関数は、フラグがセットされていると1、セットされてないと0を返します。たとえば"unread"は、未読の場合は1、既読の場合は0を返します。
SetMailFlag関数は、フラグの書き換えに成功すると1、失敗すると0を返します。
- 制限事項
-
GetMailFlag関数は、まだ保存されてないメール上、例えば「新規メール」や「返信メール」などのコマンドで作成されたエディタ・ウィンドウ上ではうまく機能しません。また、「草稿に保存」とした後のメールだとしても、一度エディタ・ウィンドウを閉じてまた開いた場合にしか機能しないです。
送信系メールでは、例えば添付ファイルの有無はX-Attach:ヘッダの有無で判断するなど、他の方法を使ってください。
SetMailFlag関数も同様に、まだ保存されてないメール上では機能しません。
- 備考
-
複数のメールを選択した状態でSetMailFlag関数を呼び出した場合、V5.51以下では点線枠の付いてるメール1通だけしかフラグが変わりませんでした。V5.52以降からは、選択したメールすべてのフラグが指定した値に変わります。
例(現在のメールを新着にする例) |
#n = dllfunc("GetMailFlag", "hot");
if( #n == 0 ) #n = dllfunc("SetMailFlag", "hot", 1);
|