RootBody 関数No.18043
ジン ハジメ さん 04/05/13 01:15
 
お世話になります。

$s = dllfuncstr("RootBody");
insert $s;

とマクロを実行した場合,折り返し禁止状態で元メールの本文が挿入されること
を期待しているのですが,改行の記号を見るとどうもそうなっていないような気
がするのですが・・・

[ ]
RE:18043 RootBody 関数No.18046
tnobu2 さん 04/05/13 09:41
 
>とマクロを実行した場合,折り返し禁止状態で元メールの本文が挿入されること
>を期待しているのですが,改行の記号を見るとどうもそうなっていないような気
>がするのですが・・・

ヘルプのRootBodyの項には

| マクロから扱う場合は、普通、RootBodyLine関数を使ってください。このRootBod
y関数は、テンプレート用に用意した物です。

と記述されていますので、このためマクロ内では期待通りにはならなかったのでしょ
う。

[ ]
RE:18043 RootBody 関数No.18047
秀まるお2 さん 04/05/13 09:43
 
 ヘルプの記述を見るとたしかに「折り返し禁止」で挿入されるべきですが、内
部的な都合で、そうなりません。

 テンプレートで使った場合はたしかにRootBodyとOrikaeshiRootBodyは別の動
作となりますが、マクロから呼び出した場合はダメです。

 裏技にはなりますが、以下のようにすればなんとか目的の動作にはなります。
それで回避して欲しいです。

    $s = dllfuncstr("RootBody");
    $s = dllfuncstr("DontOrikaeshi", $s);
    setclipboard $s;
    paste;

 将来的には直したい所ですけど…。難しいかもしれないです。

[ ]
RE:18046 RootBody 関数No.18048
tnobu2 さん 04/05/13 09:45
 
>>とマクロを実行した場合,折り返し禁止状態で元メールの本文が挿入されること
>>を期待しているのですが,改行の記号を見るとどうもそうなっていないような気
>>がするのですが・・・
>
>ヘルプのRootBodyの項には
>
>| マクロから扱う場合は、普通、RootBodyLine関数を使ってください。このRootBo
>dy関数は、テンプレート用に用意した物です。
>
>と記述されていますので、このためマクロ内では期待通りにはならなかったのでし
>ょう。

マクロで使えないのにヘルプにはこれを使った例が書いてあるのもおかしいですね。

[ ]
RE:18048 RootBody 関数No.18050
秀まるお2 さん 04/05/13 09:58
 
> マクロで使えないのにヘルプにはこれを使った例が書いてあるのもおかしいですね。

 秀丸の文字列変数の長さ制限の都合があるので「使わないで」と書いたのです
が、たしかに例が書いてあるのもなんでして…。

 一応、そういう制限がありつつも使えることは使えるので、どういう制限があ
って、その制限のもとで使う例はこうだみたいなのだけ書くように修正します。

[ ]
RE:18047 RootBody 関数No.18051
ジン ハジメ さん 04/05/13 10:19
 
ありがとうございます。了解致しました。

回避マクロで十分ですので,これを利用させていただきます。

[ ]