草稿フォルダに保存No.11946
まいふぇろう さん 03/03/20 12:57
 
「草稿フォルダに保存したらエディタを閉じる」という機能があり
ますが、これを、多くのメールソフトがそうであるように(と私は
思っているのですが)、

・「草稿に保存」ボタンを押す →保存して閉じる
・ctrl-s の場合は、保存して編集継続

としたいのですが、設定で可能でしょうか?

/*
 私自身の使い分けでは、
 前者は、「もっと吟味して書き足したり修正したりするが、優先
  順位が低いのでちょっと後回し」。
 後者は、「かなり長文を一気に書いたので、停電とかフリーズに
  備えてちょっと保存(まだまだ続きを書く)。ちょっと席を立つ
  場合もなんとなくクセでちょっとセーブ」
 です(だった)。
*/

--
鶴亀 V2.51 / Windows XP Home Edition SP1
IE Version 6.0.2800.1106.xpsp1.020828.1920

[ ]
RE:11946 草稿フォルダに保存No.11948
ひろ さん 03/03/20 13:24
 
 まいふぇろうさん今日は、ひろです。
> ・「草稿に保存」ボタンを押す →保存して閉じる
> ・ctrl-s の場合は、保存して編集継続
 この動作自体ははるか昔のβ版の頃に要望を出したことが有りまが、賛同者
は得られませんでした。そこで私は、マクロを使っています。後者については、
「鶴亀メールちょっと便利なマクロ集 Ver.1.29」
http://hide.maruo.co.jp/lib/tkmacro/tkhlp129.html
に含まれる、OverWrite.mac をお使いください。前者については、通常「後で
送信」を使えば良いと思いますが、「草稿」に保存されているメールは「草
稿」に保存して終了という処理がしたければ、上記マクロのドキュメントを見
てください。そういったマクロのサンプルが記載されています。

[ ]
RE:11946 草稿フォルダに保存No.11950
秀まるお2 さん 03/03/20 13:36
 
 「草稿に保存」のコマンドの動作をどっちにするかは好みで決めていただくと
して、それの動作が気に入らない分については、マクロで適当に対処して欲しい
です。

    loaddll "tkinfo.dll";
    #n = dllfunc("SaveDraft");
    exit;

 というマクロを作れば草稿に保存したあと終了します。ツールバー上でそうし
たいなら、ツールバー上ではこのマクロを実行するボタンを配置させておけばい
いと思います。

[ ]
RE:11946 草稿フォルダに保存No.11951
たまがわ さん 03/03/20 13:37
 
以下のマクロをCtrl-Sに設定すればいいと思います。

loaddll "TKInfo.dll";
#n = dllfunc("SaveDraft");

[ ]
RE:11951 草稿フォルダに保存No.11956
たまがわ さん 03/03/20 15:28
 
 かぶってしまいました。ごめんなさい。

[ ]
RE:11956 草稿フォルダに保存No.11960
たまがわ さん 03/03/20 16:29
 
 念のためですが、dllfunc("SaveDraft") は、鶴亀本体の設定の「草稿フォルダに
保存したらエディタを閉じる」にチェックが入っていたとしても、エディタを終了せ
ずに保存だけしてくれます。
 したがって、まず、本体の「キー割り当て」で「(エディタで)草稿で保存」から
CTRL-S の割り当てを削除し、エディタの「秀丸エディタのキー割り当て」の方で、
このマクロを CTRL-S に割り当てておけばお望みの動作になる、という話です。
 わかりにくくてすいませんです。

[ ]
RE:11960 草稿フォルダに保存No.11962
たまがわ さん 03/03/20 18:08
 
 先ほど、
> CTRL-S の割り当てを削除し、エディタの「秀丸エディタのキー割り当て」の方で、
と書いてしまいましたが、エディタ側のマクロメニューを秀丸と共用していない場合
は、鶴亀本体でキー割り当てすればよいということを書き忘れました。

 一方、秀丸エディタのキー割り当てを変える場合は、秀丸エディタで CTRL-S が使
えないと不便なので、マクロを以下のようにする必要があると思います。失礼いたし
ました。

openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
$path = getregstr("TuruKameDir") + "tkinfo.dll";
closereg;
loaddll $path;
if (dllfunc("IsTuruKame")) #n = dllfunc("SaveDraft"); else save;
freedll;
endmacro;

 本当は、save 一つで簡単に済ませられると思っていたんですが、「草稿フォルダ
に保存したらエディタを閉じる」にチェックを入れた状態で、メールエディタ上で
save を使うと、私の環境では鶴亀が落ちてしまいます。ちょっとバクっぽいと思う
のですが・・・。
 環境は、WIN XP pro sp1、鶴亀2.56 です。

[ ]
RE:11960 草稿フォルダに保存No.11970
まいふぇろう さん 03/03/21 07:20
 
以下のことをやってみました。

1.「草稿フォルダに保存したらエディタを閉じる」をオン。
2.dllfunc("SaveDraft")だけを入れたマクロを作成。
3.2を ctrl-sに割り当て。

としたのですが、ctrl-sで2のマクロを呼んでくれません(1の動
作をします)。と思ったら、エディタ側のマクロに ctrl-sを割り
当てなければいけなかったのですね(かなり以前、ここで挫折して
いたようです)。
おかげさまで解決しました。ありがとうございました。

追伸:
ただ、未送信のものを開いて ctrl-sすると、草稿に移動してしま
いますが、これはしょうがないでしょうか?希望の動作は、「未送
信フォルダ」に上書きなのですが。「同じ場所に上書き」といった
コマンドはないでしょうか?

--
鶴亀 V2.51 / Windows XP Home Edition SP1
IE Version 6.0.2800.1106.xpsp1.020828.1920

[ ]
RE:11970 草稿フォルダに保存No.11971
きいろいまふらあ さん 03/03/21 08:41
 
>ただ、未送信のものを開いて ctrl-sすると、草稿に移動してしま
>いますが、これはしょうがないでしょうか?希望の動作は、「未送
>信フォルダ」に上書きなのですが。「同じ場所に上書き」といった
>コマンドはないでしょうか?

SaveDraftは「草稿フォルダに保存」です。マクロの動作としては正しいですね。

「未送信フォルダに上書き保存してエディタは終了」でしょうか?
それとも「未送信フォルダに上書き保存しつつもエディタは開いたまま」という
ことでしょうか?

前者であれば SendLater を使えばよいと思われます。

後者であればそもそもその目的がよくわからないです。

「未送信フォルダ」は、書き終わって「よし、これでもう送信していいぞ」とい
う(一旦は)完成したメールを保存するためのフォルダですから、保存後にエデ
ィタを開きっぱなしにする必要はないでしょう。

未送信フォルダにあるメールを再度編集している途中で仮に保存するというので
あれば、それは、書きかけのメールを保存しておくための目的で設けられている
「草稿フォルダ」に保存すべきと思います。そんなこんなでいよいよメールを書
き上げた暁には、今度は「未送信フォルダに保存」してそのままエディタを閉じ
ればよいのではないでしょうか?

「書きかけ(でそのまま編集を続ける)メールを未送信フォルダに保存する」と
いうのは、鶴亀のもともとの仕様?にわざわざ抗っているように感じます。

勘違いあればご容赦下さい。

あと、「受信系メールまたは送信済みメールを改変保存」するためのAlterSave
という関数も用意されていますが、今回の話と関係あるかどうか、使い慣れてい
ないので私にはわかりません(試してもいません)。ご参考まで。

[ ]
RE:11970 草稿フォルダに保存No.11972
まいふぇろう さん 03/03/21 08:51
 
まいふぇろう wrote, 2003.03.21(Fri)07:20 AM...

> ただ、未送信のものを開いて ctrl-sすると、草稿に移動してしま
> いますが、これはしょうがないでしょうか?

よーく考えてみたら、現状(草稿に保存)で何も問題ないですね。
どうせ一時保存ですから、どこに保存されてもいいはずです。

--
鶴亀 V2.51 / Windows XP Home Edition SP1
IE Version 6.0.2800.1106.xpsp1.020828.1920

[ ]
RE:11971 草稿フォルダに保存No.11973
まいふぇろう さん 03/03/21 12:21
 
御指摘ありがとうございます。

きいろいまふらあさんの投稿を読む前に自分の勘違いに気付き、入
れ違いになってしまいました。

[ ]
RE:11972 草稿フォルダに保存No.11976
ひろ さん 03/03/21 15:33
 
 秀まるおさん、まいふぇろうさん今日は、ひろです。
> > ただ、未送信のものを開いて ctrl-sすると、草稿に移動してしま
> > いますが、これはしょうがないでしょうか?
>
> よーく考えてみたら、現状(草稿に保存)で何も問題ないですね。
 既に現状でも問題ないようですが、もし「草稿」に移動するのを止めたけれ
ば、http://www.maruo.co.jp/hidesoft/8/m030320.html#11948 を再読してく
ださい。

 以下秀まるおさんへ
 http://www.maruo.co.jp/hidesoft/8/m030320.html#11962 にありました
> 「草稿フォルダ
> に保存したらエディタを閉じる」にチェックを入れた状態で、メールエディタ上で
> save を使うと、私の環境では鶴亀が落ちてしまいます。
の件ですが、Windows98+IE6.0+鶴亀 Ver.2.56 でも起きます。dump.txt をつ
けておきますが、異常終了というわけではなさそうです。
 ##何故本体も終了させてしまうのだろう???
1975  6    CommandMacroSub sample.mac
5311  0    エディタコマンド: 40056
270   0    HmGeneral 56
10225 0    BeginNewAtachList
270   4    HmGeneral 9
270   0    HmGeneral 9
270   0    HmGeneral 45
270   4    HmGeneral 9
270   0    HmGeneral 45
11786 0    MuteOther()
11806 0    CreateThreadAndViewFrame: waiting hevent OK
400   18   CommandExecEvent 3
11786 2    MuteOther()
11819 0    CreateThreadAndViewFrame: ProcessExecEvent()
509   0    ProcessExecEvent
803   11   ProcessExecEvent exit
416   2    CommandExecEvent: waiting hevent OK
11879 0    ReleaseMuteOther()
11806 4    CreateThreadAndViewFrame: waiting hevent OK
11879 0    ReleaseMuteOther()
270   5    HmGeneral 21
3969  3    WM_DESTROY
11786 1    MuteOther()
11806 0    CreateThreadAndViewFrame: waiting hevent OK
3977  0    ImeをOFFにしました
3984  0    delete pHidemaru

[ ]
RE:11976 草稿フォルダに保存No.11977
秀まるお2 さん 03/03/21 21:59
 
 マクロのsave文で死んでしまう件はこちらでも再現しました。さっそく修正さ
せていただきます。

 save文は、dllfunc("SaveDraft")と同じく、保存した後もエディタは終了せず
に、そのままマクロの処理も続行する仕様とさせていたたきます。

 (そういう説明がヘルプに書いてないので、それも追加します)

[ ]
RE:11976 草稿フォルダに保存No.11980
まいふぇろう さん 03/03/22 05:41
 
ひろ wrote, 2003.03.21(Fri)03:33 PM...

>  既に現状でも問題ないようですが、もし「草稿」に移動するのを止めたけれ
> ば、http://www.maruo.co.jp/hidesoft/8/m030320.html#11948 を再読してく
> ださい。

すみません、これちょっと理解できませんでした。

[ ]
RE:11977 草稿フォルダに保存No.12029
たまがわ さん 03/03/25 10:33
 
秀まるおさん、こんにちは。

>  マクロのsave文で死んでしまう件はこちらでも再現しました。さっそく修正さ
> せていただきます。
>
>  save文は、dllfunc("SaveDraft")と同じく、保存した後もエディタは終了せず
> に、そのままマクロの処理も続行する仕様とさせていたたきます。

 鶴亀 2.57 で、save の動作が改善されていることを確認しました。


>  (そういう説明がヘルプに書いてないので、それも追加します)

 ヘルプは変わっていないような気がします・・・?

[ ]
RE:12029 草稿フォルダに保存No.12043
秀まるお2 さん 03/03/25 18:50
 
 ヘルプは書き換えたつもりが、コンパイルしないままアップロードしてしまい
ました。失礼しました。

[ ]
RE:11972 草稿フォルダに保存No.12061
まいふぇろう さん 03/03/26 09:39
 
> > ただ、未送信のものを開いて ctrl-sすると、草稿に移動してしま
> > いますが、これはしょうがないでしょうか?

これについては疑問は解決しましたが、もう一つ教えていただけま
すか?実は、この疑問が出る勘違いの根っこに関係あるかもしれま
せんので...

未送信のメールをエディタで開いた場合、メールは未送信フォルダ
に残ったままですが、この状態で定期受信が走った場合、鶴亀はど
う処理しているのでしょうか?
エディタで開いているものは無視するのか、送信してしまうのか
(これはないですよね)です。

/*
 私自身、定期受信をしていないので関係ないのですが、メールソ
  フトマニア(?)として興味が湧きました。
 他のメールソフトでは、エディタで開いた瞬間、草稿に移動させ
  ているものが多かったと記憶しているので、鶴亀がこのあたりど
  のようにエレガントな方法を採用しているのかなぁ、と。
*/

[ ]
RE:12061 草稿フォルダに保存No.12063
秀まるお2 さん 03/03/26 11:04
 
>未送信のメールをエディタで開いた場合、メールは未送信フォルダ
>に残ったままですが、この状態で定期受信が走った場合、鶴亀はど
>う処理しているのでしょうか?
>エディタで開いているものは無視するのか、送信してしまうのか
>(これはないですよね)です。

 エディタで開いてるメールは送信できず、後でエラーになります。

 エラーメッセージが出るのはよろしくないんじゃないかという話題が別の所に
出てますけど。

[ ]
RE:12063 草稿フォルダに保存No.12083
まいふぇろう さん 03/03/27 09:49
 
>  エディタで開いてるメールは送信できず、後でエラーになります。
>
>  エラーメッセージが出るのはよろしくないんじゃないかという話題が別の所に
> 出てますけど。

なるほど、送信しないのであれば心配はないですね。

ただ、未送信フォルダにメールが残っている場合に、自分で開いて
いたことをすっかり忘れてしまって、送信したのに残っているのか、
まだ送信していないのか不安になる人が出てくるかもしれませんね。
ま、そのためのエラーメッセージなんでしょうけど、メッセージが
うっとうしい人もいるということですね...

このあたり、一番安易で確実な方法として、「未送信メールを開い
た瞬間、草稿に移す」という方式を採っているメールソフトが多い
のも今回改めて納得しました。しかし、この方式の場合、見ようと
思って開いただけなのに、Date:が変わってしまうという欠点もあ
るわけでして。

/*
 私は今回関係ないのでこの件は何も要望しませんが、もし将来定
  期受信を使うようになって混乱したら、(草稿に移す動作も選べ
  るよう)要望として挙げるかもしれません。鶴亀の場合、
  SaveDraftを呼び出すだけでしょうから、そういう要望が出ても
  すぐ対処できそうですね。
*/

以上、雑談でした。

[ ]
RE:11946 草稿フォルダに保存No.12329
たまがわ さん 03/04/09 16:57
 

 Ctrl-Sにマクロを割り当てて編集継続する作戦ですが、結局次のようなマクロに落
ち着きました。
 私の場合、ヘッダ簡略表示の一番上に date: ヘッダを設定しているんですが、こ
のマクロを使うと、Ctrl-S を押したときに、ちゃんと date: がヘッダの一行目に
入ってくれるという………それだけのことなんですけど。

// save.mac
//
loaddll "tkinfo.dll";
if (!result) goto HIDEMARU;
if (!dllfunc("IsTuruKame")) {
    freedll;
HIDEMARU:
    save;
    endmacro;
}

disabledraw;
#xx = x; #yy = y;
if (#yy < -1) {
    moveto 0, #yy;
    beginsel; right;
    getsearch;
}
save;
#header = dllfunc("HeaderView");
#n = dllfunc("SwitchHeaderView", 0);
#n = dllfunc("SwitchHeaderView", #header);
if (#yy < -1) {
    gofiletop;
    findup;
    #yy = y;
}
moveto #xx, #yy;
enabledraw;
endmacro;

[ ]