DoGrep, StartDoGrep, DoGrepAppend, StartDoGrepAppend, DoGrep2, StartDoGrep2関数(TKInfo.dll)(Ver7.22対応版)
 DoGrep関数は、現在の検索条件で「検索して一覧作成」または「メールアドレス検索」を実行します。
 「検索して一覧作成」になるか「メールアドレス検索」になるかは、検索条件の設定によります。

 StartDoGrep関数もDoGrep関数と同じく「検索して一覧作成」を実行する関数ですが、こちらの関数は、マクロが終了するのを待ってから遅延して「検索して一覧作成」を実行します。この関数は、「検索して一覧作成」の後に特にマクロで何かする目的が無い場合用で、検索に時間がかかる場合に検索を実行してるのと並行して何らかの操作をして、その過程で「マクロ実行中なので××が出来ない」のような不便なことが無いように用意してあります。


 DoGrepAppendおよびStartDoGrepAppend関数は、すでに存在している検索結果の一覧に対して、検索結果を追加するような形で動作します。他はDoGrepおよびStartDoGrep関数と同じ動作です。検索結果の一覧が存在しない状態でDoGrepAppend/StartDoGrepAppend関数を呼び出した場合は、普通のDoGrep/StartDoGrepと同じ動作となります。


 DoGrep, StartDoGrep関数は、もしもその関数呼び出しのタイミングですでに何かの検索結果ウィンドウがあった場合、そのウィンドウを閉じてから検索を実行します。これに対し、既存の検索結果をウィンドウを閉じることなく、追加の形で検索を実行する用に、DoGrep2, StartDoGrep2関数があります。さらに、検索結果ウィンドウを閉じる用に、CloseGrepWnd関数もあります。
パラメータ1(文字列型)
 検索対象のアカウントを指定します。""を指定するとすべてのアカウントが検索対象となります。
 「\AccountGroup」を指定すると現在アカウントの所属しているアカウントグループが検索対象となります。
 「\CurrentAccount」を指定すると現在アカウントが検索対象となります。


パラメータ2(文字列型)
 検索対象のフォルダを指定します。パラメータ1に""を指定している場合は、以下の2つが指定できます。
"" すべてのアカウントのすべてのフォルダを検索する(ただし、ログフォルダは除く)
"受信+送信済み+ユーザー" すべてのアカウントの受信フォルダ配下および送信済みフォルダ配下およびアカウント直下のユーザーフォルダ。
 パラメータ1に何か適当なアカウントを指定している場合は、以下のパラメータが指定できます。
"" アカウント内のすべてのフォルダ(ただし、ログフォルダは除く)
"受信+送信済み+ユーザー" 受信フォルダ配下および送信済みフォルダ配下およびアカウント直下のユーザーフォルダ。
その他 そのフォルダ。(例: "ゴミ箱", "受信\\TEST"など)
 過去のバージョンとの互換性の関係で、"受信+送信済み"と指定しても、それは"受信+送信済み+ユーザー"と解釈されます。

追加対象フォルダの指定

 検索対象アカウント/フォルダに特定のフォルダを指定した場合に限り、追加対象のフォルダが指定出来ます。追加対象のフォルダを指定するには、パラメータ2の上記の文字列の後ろに",include="を付けて、その後ろにフォルダ名をアカウント名も含めた形でコンマ区切りで指定してください。
 コンマやイコールの前後には空白を入れてはいけません。

 対象フォルダ名の最後に「*」を付けると、そのフォルダと配下のフォルダすべてが対象となります。(V5.34から)
 「アカウント名*」のように指定すると、そのアカウント配下のすべてのフォルダを対象とします。(V7.20から)
除外対象フォルダの指定

 除外対象フォルダを指定するには、パラメータ2の上記の文字列の後ろに",exclude="を付けて、その後ろにフォルダ名をアカウント名も含めた形でコンマ区切りで指定してください。
 対象フォルダに""を指定しつつ対象外フォルダを指定したい場合は、",exclude=XXXX"みたいな指定のみすればいいです。
 対象フォルダ名の最後に「*」を付けると、そのフォルダと配下のフォルダすべてが対象となります。(V5.34から)
 「アカウント名*」のように指定すると、そのアカウント配下のすべてのフォルダも除外対象とします。(V7.20から)


パラメータ3(数値型)
 検索結果の表示スタイルを指定します。値の意味は以下の通りです。
0一覧表示
1スレッド表示
2From/To列によるグループ化
3送受信日時によるグループ化
4Dateによるグループ化
5Subjectによるグループ化
 パラメータ3は省略可能です。あと、このパラメータは秀丸メールV4.82から追加されてます。


返り値(数値型)
 返り値には特に意味はありません(失敗するケースが無いとは言い切れませんが)。


備考
 「メールアドレス検索」を実行したい場合には、SetFindPack関数でtarget=personと指定しておいてください。

 「検索して一覧作成」の結果ウィンドウの中をマクロで参照することはできません。また、DoGrep関数は検索が終了(または中断)するまで返ってきません。DoGrepから復帰した後は、検索結果ウィンドウがアクティブになりますが、 マクロの実行はそのままマクロ実行していたエディタ上で続行されます。検索結果上にマクロ実行を移動させたい場合は、SetGrepWndTop関数を使います。

 StartDoGrep関数を呼び出した後は、すみやかにマクロを終了させてください。


#n = dllfunc("DoGrep", "テストアカウント", "受信+送信済み+ユーザー");
#n = dllfunc("DoGrep", "\\AccountGroup", "");
#n = dllfunc("StartDoGrep", "テストアカウント", "受信+送信済み+ユーザー");
#n = dllfunc("StartDoGrep", "テストアカウント", "受信,include=テストアカウント2*");
#n = dllfunc("StartDoGrep", "テストアカウント", "受信,include=テストアカウント2\\User\\テストフォルダ*");
endmacro;