您好,我想知道是否可以從我的WinForms應用程序向Outlook 2010發送搜索查詢。也就是說,不搜索.PST文件,因爲我一直在四處搜索,發現,我試圖在Outlook中顯示結果列表,就好像我自己在搜索框中鍵入一樣。在Outlook中執行搜索查詢
如果可能的話,任何示例代碼都會有幫助。另外,是否有可能直接在所有郵件項目中執行搜索,而通常在您執行搜索時會梳理當前文件夾。謝謝。
您好,我想知道是否可以從我的WinForms應用程序向Outlook 2010發送搜索查詢。也就是說,不搜索.PST文件,因爲我一直在四處搜索,發現,我試圖在Outlook中顯示結果列表,就好像我自己在搜索框中鍵入一樣。在Outlook中執行搜索查詢
如果可能的話,任何示例代碼都會有幫助。另外,是否有可能直接在所有郵件項目中執行搜索,而通常在您執行搜索時會梳理當前文件夾。謝謝。
如果您想要訪問Outlook數據(例如郵件),您必須將COM引用添加到Microsoft Outlook X.X對象庫。
對於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