起稿した返信メールを編集済みにしたいNo.18373
ワッキー さん 04/06/07 08:10
 
私は、返事が必要なメールにはとりあえず返信ボタンを押して後で
返事を考えるという作戦をやることがあります。
しかし、そのような状態のままで手をつけなかったメールは、うっ
かり鶴亀を全終了するとそのまま破棄されてしまいます。これを常
に保存確認を出す方法はありますでしょうか?

ClearUpdated関数の逆動作の関数なんて無いですよねぇ?
sendmessageでの裏ワザはどうでしょうか?

[ ]
RE:18373 起稿した返信メールを編集済みにNo.18374
HiroKudoh さん 04/06/07 08:44
 

鶴亀ユーザのHiroKudohです

> 私は、返事が必要なメールにはとりあえず返信ボタンを押して後で
> 返事を考えるという作戦をやることがあります。
> しかし、そのような状態のままで手をつけなかったメールは、うっ
> かり鶴亀を全終了するとそのまま破棄されてしまいます。これを常
> に保存確認を出す方法はありますでしょうか?

作成途中のメールを保存する機能として、「草稿に保存」があり
ますが、私はこれを使っています。

作成中のメールを草稿フォルダに入れておくと、不意のフリーズ
にも安心です。

[ ]
RE:18373 起稿した返信メールを編集済みにNo.18376
秀まるお2 さん 04/06/07 09:15
 
> ClearUpdated関数の逆動作の関数なんて無いですよねぇ?
> sendmessageでの裏ワザはどうでしょうか?

 何か文字入力してそれを削除すればいいと思います。

  insertfix "A"; delete;

[ ]
RE:18376 起稿した返信メールを編集済みにNo.18387
ワッキー さん 04/06/07 20:05
 
>   insertfix "A"; delete;

ありがとうございます。これをヒントに末尾のマクロを作って、送
信用のエディタ起動時に登録して使うことにしました。
追加した処理は、

1.新規メール時は動作しないようにした。
2.初期カーソル位置で文字操作をするのはちょっと気分的に気持ち
  悪いので、ファイル終端で作業するようにした。

(欲を言えば、もうちょっとエレガントな方法があればなぁ、と思
  いましたが、ひとまず目的は達しました)

loaddll "TKInfo.dll";

#n = dllfunc("CountRootHeader", "In-Reply-To");
if(!#n) endmacro;

#xPos=x;
#yPos=y;
disabledraw;
gofileend;
insertfix "\n"; delete;
moveto #xPos,#yPos;
enabledraw;

[ ]
RE:18387 起稿した返信メールを編集済みにNo.18392
秀まるお2 さん 04/06/08 09:28
 
> (欲を言えば、もうちょっとエレガントな方法があればなぁ、と思
>   いましたが、ひとまず目的は達しました)

 よく考えたら別の方法がありました。

 例えばですが、「優先度=高」を実行すると更新された扱いになるので、それ
を2回連続実行する手があります。タイトルバーが少しちらつくのが欠点です。

   #n = sendmessage(hidemaruhandle(0),0x0111,40129,0);
   #n = sendmessage(hidemaruhandle(0),0x0111,40129,0);

 タイトルバーがちらつかないのもありました。「設定・自動折り返し」をON/
OFFする手があります。ただし、こちらはメール内容がフラッシュする可能性が
あります。

   #n = sendmessage(hidemaruhandle(0),0x0111,40090,0);
   #n = sendmessage(hidemaruhandle(0),0x0111,40090,0);

[ ]
RE:18392 起稿した返信メールを編集済みにNo.18398
ワッキー さん 04/06/08 12:17
 
>  よく考えたら別の方法がありました。

度々のアドバイスありがとうございます。
よくよく調べてみましたら、sendmessage を使うまでもなく、
SwitchOrikaeshi や SetHighPriority が使えるようですね。
という訳で、改良マクロを載せておきます(かなりスッキリしまし
た)。それと、前回のマクロの新規メールかどうかの判定で、
#n = dllfunc("CountRootHeader", "In-Reply-To");
はダメでした。送信メール用エディタが開く時は、まだ In-Reply-
To はセットされていないようですね。Subject が空かどうかとい
うゴリ押しで何とかしました。

-------------------------
loaddll "TKInfo.dll";

$s = dllfuncstr( "CurrentHeader", "Subject" );
if($s=="") endmacro;

#n = dllfunc( "SwitchOrikaeshi" );
#n = dllfunc( "SwitchOrikaeshi" );

[ ]