ApplicationクラスのAdvancedSearchメソッドを使用すると、複数のフォルダ内のアイテムを検索できます。 ItemクラスのRestrictとFind/FindNextのメソッドでは、単一のフォルダ内のアイテムのみを検索できます。
OutlookでAdvancedSearch方法を使用することの主な利点は以下のとおりです。
- 検索は、別のスレッドで実行されます。
AdvancedSearch
メソッドは自動的にバックグラウンドで実行されるため、別のスレッドを手動で実行する必要はありません。
- メール、予定、カレンダー、メモなど、任意の場所で、つまり特定のフォルダの範囲を超えて、アイテムの種類を検索することができます。
Restrict
とFind
/FindNext
メソッドは、特定のItemsコレクション(OutlookのFolderクラスのItemsプロパティを参照)に適用できます。
- DASLクエリを完全にサポートしています(カスタムプロパティは検索にも使用できます)。この詳細については、MSDNのFilteringの記事を参照してください。検索パフォーマンスを向上させるために、インスタント検索のキーワードは、ストアでインスタント検索が有効になっている場合に使用できます(StoreクラスのIsInstantSearchEnabledプロパティを参照)。
- Searchクラスの
Stop
メソッドを使用して、検索プロセスをいつでも停止することができます。
Advanced search in Outlook programmatically: C#, VB.NETの記事のAdvancedSearch
メソッドの詳細を参照してください。 Outlookオブジェクトモデルはすべてのプログラミング言語に共通するので、PythonとC#のどちらを使用するかは関係ありません。