テンプレート内でのマクロ使用時の動作にNo.33827
虎之助 さん 08/04/17 16:07
 
虎之助です。
 秀丸メール5.02 WinXP-SP2で利用しています。

返信メール用テンプレートを個別指定で以下のようにしています。

----ここから
$(SetHeader,"Content-Type","text/plain; charset=utf-8")$-
$(ExecMacro,"return_templateselect.mac")$-
虎之助です。

$c
----ここまで

テンプレート内のマクロは返信用テンプレート選択の拙作マクロです。

テンプレート内でマクロを使ったときは、返信メールのエディタが
開いたときにはカーソルがメール内容枠の先頭に来ます。

テンプレート内でマクロを使わないときは、返信メールのエディタが
開いたときにはカーソルがメール内容枠の$cの位置に来ます。

マクロを使ったときと使わないときで動作が違っています。
これは仕様でしょうか?

できれば、マクロを使ったときも$cの位置へカーソルが
来て欲しいです。

ちなみに転送用テンプレートで同じ事をやると、
マクロがない場合はヘッダ枠のtoの右側の位置へカーソルが来ます。
(0,11の位置)
マクロがある場合はヘッダ枠のfromの左側の位置へカーソルが来ます。
(0,1の位置) 
こちらもマクロがない場合のようにtoの右側位置へなるといいですけど。

[ ]
RE:33827 テンプレート内でのマクロ使用時No.33830
秀まるお2 さん 08/04/17 17:25
 
 たぶんですが、マクロでカーソル移動してるせいじゃないかと思います。

 マクロが実行した時点ではカーソルは$cの位置にあるけども、それからマクロ
の動作によってカーソルが移動してるんじゃないでしょうか。

 例えばマクロの中身を

   endmacro;

 の1行だけにしたら、$cの位置にカーソルが行くんじゃないかと思いますけど。

 どうでしょ?

[ ]
RE:33830 テンプレート内でのマクロ使用時No.33843
虎之助 さん 08/04/18 23:51
 
> たぶんですが、マクロでカーソル移動してるせいじゃないかと思います。
>
> マクロが実行した時点ではカーソルは$cの位置にあるけども、それからマクロ
>の動作によってカーソルが移動してるんじゃないでしょうか。
>
> 例えばマクロの中身を
>
>   endmacro;
>
> の1行だけにしたら、$cの位置にカーソルが行くんじゃないかと思いますけど。
>
> どうでしょ?

はい。$cに位置へカーソルが行きました。
けど、マクロの中ではカーソル移動するような関数は
使ってないんですが。。。
使っている関数は、
 dllfuncstr( "CurrentHeader", "to" );
 dllfunc("SwitchTemplate", "テンプレート名");
だけです。

ヘルプには、SetHeader関数類は、
「カーソルはヘッダ部分の先頭に移動してしまいます」と書いてありました。
上の2つの関数も同じようになっているのでしょうか?

ちなみに、選択するテンプレートの中では、SetHeader関数を使っています。
$(SetHeader,"Content-Type","text/plain; charset=utf-8")です。

[ ]
RE:33843 テンプレート内でのマクロ使用時No.33844
虎之助 さん 08/04/19 00:48
 
>使っている関数は、
> dllfuncstr( "CurrentHeader", "to" );
> dllfunc("SwitchTemplate", "テンプレート名");
>だけです。
>
あっ もう1個ありました。
 dllfuncstr( "FindBookNote3", dllfuncstr( "CurrentHeader", "to" ); です。

[ ]
RE:33844 テンプレート内でのマクロ使用時No.33845
秀まるお2 さん 08/04/19 22:14
 
 SwitchTemplateでテンプレート切り替えしてるせいじゃないですかね。

 dllfunc/dllfuncstr関数を1つづつ取ってみればどれが原因か分かると思いま
す。

[ ]
RE:33845 テンプレート内でのマクロ使用時No.33847
虎之助 さん 08/04/20 13:53
 
> SwitchTemplateでテンプレート切り替えしてるせいじゃないですかね。
>
この関数のようです。

メール返信時にテンプレートはちゃんと選択されているので、
使用上は問題ないですけど。。。
もう少し、別な方法で何かできないか考えてみます。

ありがとうございました。



[ ]