使ったテンプレートを記憶No.14979
o_hiro さん 03/10/15 19:26
 
テンプレート(特に返信)についてです。
これはフォルダ毎に登録してあり、[**フォルダの設定]で替えない限り固定ですが、
これを従来の「固定」の他に、各メール作成ボタン右の下向き三角(▼)で
最後に選んだテンプレートが次も続けて使える設定と言うのを加えて
二つの使い分けができるようにはならないでしょうか?

[ ]
RE:14979 使ったテンプレートを記憶No.14984
秀まるお2 さん 03/10/15 23:31
 
 前回選択したテンプレートを覚えておくような機能は、実現しようと思えばた
ぶん簡単に実現できると思います。

 問題としては、そういうややこしい機能をどうやってユーザー様に見せるかっ
て話になるかと思います。また、フォルダ毎の設定でテンプレートを指定してい
た場合との優先順位をどっちにするのかとか、動作についてユーザー様に不可解
な現象を起こす可能性も大いにあります。

 ただでさえ鶴亀メールは設定がややこしいことで有名な上に、こういう、鶴亀
メールの動作を予測困難にするオプションを増やすことは、かなり危険だと思い
ます。

---------
 マクロで実現できればいいって話なら、例えばそういうマクロを実現できるよ
うな関数の追加で対応することは出来ますけど。

 例えばエディタ中での現在のテンプレート名を返す「
GetCurrentTemplateName」のような関数を新規に追加してやって、エディタ起動
時用のマクロを使ってテンプレートの履歴をレジストリなりに保存するようにし
ておいて、返信コマンド時に前回のテンプレート名を拾ってきてSwitchTemplate
で切り替えるとか。

[ ]
RE:14984 使ったテンプレートを記憶No.14992
o_hiro さん 03/10/16 09:05
 
秀まるお2 さん、ありがとうございます。

> マクロで実現できればいいって話なら、例えばそういうマクロを実現できるよ
>うな関数の追加で対応することは出来ますけど。

マクロで十分ですのでお願いしたいと思います。
テンプレートにマクロを組み込んで同時に使っていまして
それが使えないと大変困るのですが、大丈夫でしょうか?

マクロは山紫水明様にご紹介頂いたもので、
返信時、相手の冒頭の挨拶と末尾の「-- 」以下を削除する物です。

//--- Reply.mac ----------------
disabledraw;
gofiletop;
searchdown ">(私の名前)さん、こんばんは。", regular;
deleteline
deleteline
searchdown "^>--", regular;
up;
deleteline
deleteline
deleteline
endmacro;
//-----------------------------

[ ]
RE:14992 使ったテンプレートを記憶No.15002
秀まるお2 さん 03/10/16 13:29
 
 前回選択したテンプレートでエディタを立ち上がるようにするには、アカウン
ト毎の設定でのテンプレート指定を毎回書き換えてやればいいと思います。なの
で、エディタが起動されたら、そのエディタに適用されているテンプレート名を
取り出して、それをアカウント毎の設定に書き込んでやることにしました。

 そういう作戦でいいですよね?

 いくつかマクロ用の関数を追加しました。(僕の手元での話)

 CurrentTemplateName  ... 現在のエディタ上で適用されているテンプレート
                           を返す
 CurrentSignName      ... 現在のエディタ上で適用されている署名
                           を返す

 GetTemplateReference ... アカウント毎またはフォルダ毎に指定されている
                           テンプレート名を返す
 SetTemplateReference ... アカウント毎またはフォルダ毎のテンプレート
                           指定を書き換える。

 マクロとしては以下のようになります。これを、「マクロ・マクロ登録・自動
起動・送信用のエディタ起動時」に登録しておけば目的の動作となります。

AutoTemplateChange.mac--------------------------------------
    loaddll "tkinfo.dll";
    #type = dllfunc("MailType");
    if( #type < 0 || #type > 2 ) {
        // 新規メール、返信メール、転送メール の場合のみ。
        endmacro;
    }
    $s = dllfuncstr("CurrentTemplateName");
    if( leftstr( $s, 1 ) == "\\" ) {
        // アカウント毎/フォルダ毎のテンプレート指定の場合は何もしない
        endmacro;
    }
    #n = dllfunc("SetTemplateReference", dllfuncstr("CurrentAccount")
                , "", #type, $s );
------------------------------------------------------------

> テンプレートにマクロを組み込んで同時に使っていまして
> それが使えないと大変困るのですが、大丈夫でしょうか?

 reply.macの最後のendmacroの直前に、

 execmacro "AutoTemplateChange.mac";

 のような1文を入れておけばいいはずです。

[ ]
RE:15002 使ったテンプレートを記憶No.15006
o_hiro さん 03/10/16 14:28
 
秀まるお2さん、ありがとうございます。

> 前回選択したテンプレートでエディタを立ち上がるようにするには、アカウン
>ト毎の設定でのテンプレート指定を毎回書き換えてやればいいと思います。なの
>で、エディタが起動されたら、そのエディタに適用されているテンプレート名を
>取り出して、それをアカウント毎の設定に書き込んでやることにしました。

> そういう作戦でいいですよね?

はい。可能であれば何の問題もありません。

[ ]
RE:15006 使ったテンプレートを記憶No.15012
秀まるお2 さん 03/10/16 17:50
 
 既に対応済みでテストもそれなりにやったので、あとはヘルプを書きます。

[ ]
RE:15012 使ったテンプレートを記憶No.15024
o_hiro さん 03/10/17 16:48
 
秀まるお2さん、ありがとうございます。

> 既に対応済みでテストもそれなりにやったので、あとはヘルプを書きます。

早速「Version 3.07beta7」にバージョンアップしました。

AutoTemplateChange.mac を秀丸のmacroフォルダに入れ、
鶴亀側で
「マクロ・マクロ登録・自動起動・送信用のエディタ起動時」に登録しました。

また、当該フォルダ特有の設定である、テンプレート内に組み込んである
マクロに関しても

reply.macの最後のendmacroの直前に、
execmacro "AutoTemplateChange.mac";
の1行を入れました。

返信時に「下向き▼」から選んだ物は、次回もそれが選ばれる物と
して試してみたのですが、何か設定を間違っているようで
最後に使ったテンプレートはアクティブにならないのです。
チェックすべき点がございましたらご指摘頂けないでしょうか?

[ ]
RE:15024 使ったテンプレートを記憶No.15025
秀まるお2 さん 03/10/17 17:25
 
 AutoTemplateChange.macの最後に、

    message $s;

 の1行を入れてみて欲しいです。その状態で、テンプレート指定付きで返信
メールしたら、選択したテンプレート名がメッセージとして表示されるはずです
が、どうでしょ?

 何も出ないとしたら、AutoTemplateChange.macが実行されてないんだと思いま
す。

 間違ったテンプレート名が表示されるなら、鶴亀のバグかもしれませんが…。

 正しいテンプレート名が出るならば、そのメッセージが出た後に、鶴亀メール
本体上でアカウント毎の設定を開いて、返信メール用のテンプレートがたしかに
書き換わってるかどうか今一度確認して欲しいです。

 どうでしょ?

[ ]
RE:15025 使ったテンプレートを記憶No.15029
o_hiro さん 03/10/18 08:55
 
秀まるお2さん、ありがとうございます。

> AutoTemplateChange.macの最後に、
>    message $s;
> の1行を入れてみて欲しいです。その状態で、テンプレート指定付きで返信
>メールしたら、選択したテンプレート名がメッセージとして表示されるはずです
>が、どうでしょ?

この1行を入れましたら、返信メール作成時に「秀丸 (テンプレート名)」の
ボックスが表示されました。

> 正しいテンプレート名が出るならば、そのメッセージが出た後に、鶴亀メール
>本体上でアカウント毎の設定を開いて、返信メール用のテンプレートがたしかに
>書き換わってるかどうか今一度確認して欲しいです。

テンプレート名は正しいものが出ています。
あと、最後に使ったテンプレートが次回残らず、前のままなのです。

[ ]
RE:15029 使ったテンプレートを記憶No.15030
秀まるお2 さん 03/10/18 23:09
 
> テンプレート名は正しいものが出ています。
> あと、最後に使ったテンプレートが次回残らず、前のままなのです。

 はて?

 アカウント毎の設定でのテンプレート指定はたしかに書き換わっているんです
よね。具体的には「参照指定」になって、その右側のテンプレート名が書き換わ
るはずですが。

 例えば、エディタを起動した後で「設定・テンプレートの切り替え」を実行し
てからさらに「マクロ・マクロ実行...」でAutoTemplateChange.macを実行した
ら、それでまたアカウント毎の設定が書き換わるはずでして、僕の所ではちゃん
とそのように動作します。????

 それが書き換わるにも関わらず、「返信メール」などとした時のテンプレート
が変化しないってことなら、もしかして、フォルダ毎の設定で何かテンプレート
指定してませんか?

 フォルダ毎の設定でテンプレート指定してたらそっちが優先されてしまいます
けど。しいて、そういう場合にフォルダ毎の設定を書き換えるようにするために
は、フォルダ毎の設定を設定/参照するための関数を新たに追加しないとダメで
す。

[ ]
RE:15030 使ったテンプレートを記憶No.15037
o_hiro さん 03/10/20 09:24
 
秀まるお2さん、ありがとうございます。

結果から申し上げますと、[フォルダ毎の設定]で[指定する]を選んでいたのが
原因でした。

>  アカウント毎の設定でのテンプレート指定はたしかに書き換わっているんです
> よね。具体的には「参照指定」になって、その右側のテンプレート名が書き換わ
> るはずですが。

[返信]右の下向き▼で別のテンプレートを選び返信。その後[アカウント毎の設定」を
見ると確かに先ほど使ったテンプレートに変わってくれています。
それなら次は[返信]ボタンのみでこのテンプレートを使えるかと思うと
前のテンプレートが適用されます。

>  例えば、エディタを起動した後で「設定・テンプレートの切り替え」を実行し
> てからさらに「マクロ・マクロ実行...」でAutoTemplateChange.macを実行した
> ら、それでまたアカウント毎の設定が書き換わるはずでして、僕の所ではちゃん
> とそのように動作します。????

同じようにやってみましたが、[アカウント毎の設定]ではきちんと変わってくれて
いるのにテンプレート選択では前のままという事で、上記と同じです。

>  それが書き換わるにも関わらず、「返信メール」などとした時のテンプレート
> が変化しないってことなら、もしかして、フォルダ毎の設定で何かテンプレート
> 指定してませんか?

>  フォルダ毎の設定でテンプレート指定してたらそっちが優先されてしまいます
> けど。しいて、そういう場合にフォルダ毎の設定を書き換えるようにするために
> は、フォルダ毎の設定を設定/参照するための関数を新たに追加しないとダメで
> す。

これは[フォルダ毎の設定]でテンプレートを指定していました。
これを[指定しない]にしたら変更したテンプレートが保存できました。
テンプレートの変更を記憶させたいフォルダのみ、[指定しない]にしておけば
よろしいのですね…

[ ]
RE:15037 使ったテンプレートを記憶No.15038
秀まるお2 さん 03/10/20 14:55
 
> これを[指定しない]にしたら変更したテンプレートが保存できました。
> テンプレートの変更を記憶させたいフォルダのみ、[指定しない]にしておけば
> よろしいのですね…

 結果的にはそうなります。

[ ]
RE:15038 使ったテンプレートを記憶No.15060
o_hiro さん 03/10/23 08:45
 
秀まるお2さん、ありがとうございます。

>> テンプレートの変更を記憶させたいフォルダのみ、[指定しない]にしておけば
>> よろしいのですね…

> 結果的にはそうなります。

了解しました。
この機能を取り入れてからいっそう使いやすくなりました。

[ ]