こんにちは私のWinFormsアプリケーションからOutlook 2010に検索クエリを送信することが可能かどうかは疑問です。つまり、私が検索していたときに.PSTファイルを検索せず、検索ボックスに自分が入力したかのように、結果リストをOutlookに表示しようとしています。Outlookで検索クエリを実行
可能であれば、任意のコード例が参考になります。さらに、すべてのメールアイテムで検索を直接実行することは可能ですか?通常、検索を実行すると、現在のフォルダが曖昧になります。ありがとう。
こんにちは私のWinFormsアプリケーションからOutlook 2010に検索クエリを送信することが可能かどうかは疑問です。つまり、私が検索していたときに.PSTファイルを検索せず、検索ボックスに自分が入力したかのように、結果リストをOutlookに表示しようとしています。Outlookで検索クエリを実行
可能であれば、任意のコード例が参考になります。さらに、すべてのメールアイテムで検索を直接実行することは可能ですか?通常、検索を実行すると、現在のフォルダが曖昧になります。ありがとう。
Outlookデータ(メールなど)にアクセスするには、Microsoft Outlook X.XオブジェクトライブラリにCOM参照を追加する必要があります。
Outlookの場合、COM interopを使用できます。 [参照の追加]ダイアログを開き、[.NET]タブを選択し、Microsoft.Office.Interop.Outlookアセンブリへの参照を追加します。
は、その後、あなたの使用して句に名前空間「Microsoft.Office.Interop.Outlook」を追加することを忘れないでください。
今、あなたは、Outlookアプリケーションオブジェクトのインスタンスを作成することができます。
Microsoft.Office.Interop.Outlook.Application outlook;
outlook = new Microsoft.Office.Interop.Outlook.Application();
のは、あなたの受信トレイにクエリを実行してみましょう:
MAPIFolder folder =
outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderInbox);
IEnumerable<MailItem> mail =
folder.Items.OfType<MailItem>().Where(m => m.Subject == "Test").Select(m => m);
あなたがのためのパラメータとして検索したいフォルダを指定GetDefaultFolder(...)メソッド。受信トレイ以外のフォルダを指定することもできます。
は、MSDN上の各可能な値をチェックしてください:
ステファンCruysbergsを作成しましたOutlookProvider componentは、Outlookアプリケーションオブジェクトのラッパーとして機能します。 LINQを使用してこのプロバイダに問い合わせ、連絡先、メールなどのデータを取得することができます。ちょうどdownload彼のコードをチェックアウトしてください。これは、あなたを始めさせるのに十分なはずです。
これは私が望んでいたものではありません。私はOutlookのインスタンスを作成することに慣れています。これは、アプリケーションにクエリの結果を返すように見えます。代わりに、単にOutlookを開いて、私のアプリケーションから検索クエリを提供し、開いているインスタンス(または開いていない場合はOutlookを起動する)に、提供されたクエリの検索結果を表示したいと思います。 – ikathegreat