您好我想知道是否可以从我的WinForms应用程序向Outlook 2010发送搜索查询.也就是说,不是搜索.PST文件,因为我一直在搜索并发现,我正在尝试在Outlook中显示结果列表,就像我自己在搜索框中输入一样.
如果可能,任何示例代码都会有所帮助.此外,是否可以直接在所有邮件项目中执行搜索,通常在您进行搜索时,它会梳理当前文件夹.谢谢.
如果要访问Outlook数据(例如邮件),则必须向Microsoft Outlook XX对象库添加COM引用.
对于Outlook,您可以使用COM互操作.打开"添加引用"对话框并选择".NET"选项卡,然后添加对Microsoft.Office.Interop.Outlook程序集的引用.

之后不要忘记将命名空间"Microsoft.Office.Interop.Outlook"添加到using子句中.
现在,您可以创建Outlook应用程序对象的实例:
Microsoft.Office.Interop.Outlook.Application outlook;
outlook = new Microsoft.Office.Interop.Outlook.Application();
Run Code Online (Sandbox Code Playgroud)
让我们在您的收件箱中执行查询:
MAPIFolder folder =
outlook.GetNamespace("MAPI").GetDefaultFolder(OlDefaultFolders.olFolderInbox);
IEnumerable<MailItem> mail =
folder.Items.OfType<MailItem>().Where(m => m.Subject == "Test").Select(m => m);
Run Code Online (Sandbox Code Playgroud)
您指定要搜索的文件夹作为GetDefaultFolder(...)方法的参数.您可以指定收件箱以外的其他文件夹.
查看MSDN上的每个可能值:
Stefan Cruysbergs创建了一个OutlookProvider组件,它充当Outlook应用程序对象的包装器.您可以使用LINQ查询此提供程序并检索联系人,邮件等数据.只需下载他的代码并检查它.这应该足以让你入门.
| 归档时间: |
|
| 查看次数: |
7390 次 |
| 最近记录: |