ヘッダ内容取得No.35830
うえむ さん 09/03/10 21:26
 
こんにちは、いつもいろいろとお世話になります。

質問です。秀丸メールで下記マクロを実行しました。
$to = dllfuncstr("RootHeader", "To");

$toの期待値としては今開いているメールのTo:に羅列されている文字列なのですが、
いつも""(空っぽ)が入ります。

メール冒頭の例
To: xxxx@aa.bb

上記マクロ実行後の$toへの返り値、""

合ってますか?

[ ]
RE:35830 ヘッダ内容取得No.35831
Iranoan さん 09/03/10 21:52
 
 うえむさん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> $to = dllfuncstr("RootHeader", "To");
 ヘルプから引用しますと、
> RootHeader関数は、元メールのヘッダ部分から任意のヘッダを検索して、
> その値部分を返します。
です。つまり返信/転送元メールのヘッダです。ですからこれらが存在しない
新規のメールでは空になります。
> $toの期待値としては今開いているメールのTo:
ということなら、CurrentHeader/CurrentHeader2() 関数を使いましょう。

[ ]
RE:35831 ヘッダ内容取得No.35835
うえむ さん 09/03/11 09:29
 
Iranoanさん

CurrentHeaderで思うことができました。見落としていました。。

ちなみに("RootHeader", "To")でも同じことができるように見えますが、結果は初回
の記事の通りでした。もちろんTo:欄にはアドレスを書いています。

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

[ ]
RE:35835 ヘッダ内容取得No.35836
K'zawa さん 09/03/11 11:04
 
うえむさん、こんにちは。
K'zawaです。

>ちなみに("RootHeader", "To")でも同じことができるように見えますが、結果は初回
>の記事の通りでした。もちろんTo:欄にはアドレスを書いています。

実行した返信メールは保存したものでしょうか?
基本的には、RootXXXX が使えるのは、返信コマンド等でエディタを開いた場合
のみで、一度保存して開き直したりした場合は使えません。
それでも使いたい場合は、LoadRootMail関数を使って元メールをロードする必要
があります。詳しくは LoadRootMail関数 のヘルプをご覧ください。

[ ]