"SetFindPack"と"FindDownInclude"についNo.28252
YK さん 06/08/09 01:35
 
いつもお世話になっています。

"SetFindPack"と"FindDownInclude"について、教えてください。
秀丸メール本体で、現在選択しているメールの中に、特定の文字(下のマクロ
例では"した。")があるかどうか検索しようとしているのですが、上手くいき
ません。
現在選択しているメールには、"した。"という文字列は存在します。

以下のマクロにおいて、本体側で検索範囲を「一覧内」にすると、@は"ok"と
なります。しかし、「メール内」にすると@は"ng"になります。
また、Aは"ng"となります。

選択メール内の、指定文字列の有無を調べたいのですが、どなたかご教示いた
だければ幸いです。Win me + v4.67です。本件、もし既知でしたら、申し訳あ
りません。

loaddll "TKInfo.dll";
 #n = dllfunc("SetFindPack", "(\"した。\",target=body)"); //@
// #n = dllfunc("SetFindPack", "(\"した。\",target=body), subfolder=0, inmai
l=1"); //A
 #n = dllfunc("FindDownInclude");
 if (#n==1) message "ok";
 else message "ng";
endmacro;


[ ]
RE:28252 "SetFindPack"と"FindDownIncludNo.28253
K'zawa さん 06/08/09 09:47
 
K'zawa@ユーザーです。

>以下のマクロにおいて、本体側で検索範囲を「一覧内」にすると、@は"ok"と
>なります。しかし、「メール内」にすると@は"ng"になります。
>また、Aは"ng"となります。

なぜそうなるのかはマクロヘルプに書いてあります。

>選択メール内の、指定文字列の有無を調べたいのですが、どなたかご教示いた
>だければ幸いです。Win me + v4.67です。本件、もし既知でしたら、申し訳あ
>りません。

3枠表示なら、

searchdown2 "した。";
if(!result) beep;

でいいと思います。
2枠表示ならば、メールを表示してから
同じように検索すればいいと思います。

[ ]
RE:28253 "SetFindPack"と"FindDownIncludNo.28255
秀まるお2 さん 06/08/09 11:04
 
 inmail=1で検索が失敗する原因は、たしかにヘルプのFindUp/FindDown等関数
のページに書いてあるようです。制限事項となっているようです。

[ ]
RE:28255 "SetFindPack"と"FindDownIncludNo.28259
YK さん 06/08/10 01:10
 
お世話になります。

K'zawaさん、秀まるお2さん、早速コメントいただき、ありがとうございました。
HELPに書いてあることを書き込みして、申し訳ありません。

秀丸メール本体から、searchdown2を使うとは、思ってもいませんでした。
おかげさまで、やりたいことは出来るようになりました。

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

[ ]