検索フォルダでの情報取得No.01889
さん 09/05/22 19:50
 
石です。
検索フォルダを選択して情報を取得するサンプルとして以下のマクロを組みました。

loaddll "TKInfo.dll";
#n = dllfunc( "SetGrepFolderAutoInvalidate", 0);
#n = dllfunc( "SelectFolder", "アカウント" , "検索フォルダ名" );
message dllfuncstr("CurrentHeader","X-Mailer");

この場合、検索フォルダに複数のメールがある場合は問題ないのですがメールがひと
つだけの場合は取得に失敗するようです。
但し時間が経てば正常に取得出来るみたいです。
すみません。確認いただけますでしょうか?


ちなみにリアルタイムに更新してます。

[ ]
RE:01889 検索フォルダでの情報取得No.01900
秀まるお さん 09/05/23 15:39
 
 検索フォルダに限らずですが、SelectFolderでフォルダを選択しただけだと、
何もメールが選択されてない状態になることがあります。検索フォルダの場合は
特にそうなるケースが多いです。

 そういう状態でCurrentHeader関数を呼び出すと、何もメールが無い訳なので、
""を返す動作になります。

> 但し時間が経てば正常に取得出来るみたいです。

 もしかすると、検索してる最中だとダメだけど、検索が終わるとうまくいくと
いうことかなぁと思います。

 画面上で見て、何かメールが選択されて、例えばメール内容枠にメールが出て
くるならうまくいくし、何も出てないならうまくいかないです。

 検索フォルダの一覧作成をマクロでコントロールするのは現状無理があるし、
直すしてもなかなか難しい問題があります。というのは、例えば検索フォルダの
中身を作成している最中にマクロを実行してしまうと、そのマクロは検索フォル
ダの一覧作成の処理の中で割り込み的に実行される形になります。そうすると、
例えばマクロから検索フォルダの中身を完成させるような指示をしたいと思って
も、今現在やってる一覧作成を完全に中断させるにはマクロ自体も中断してくれ
ないといけないことになって、無理があります。

[ ]