interop - Microsoft Outlook Interop(提取附件)非常慢

标签 interop outlook ms-office mapi

我正在使用 Microsoft.Office.Interop.Outlook 提取电子邮件附件:

var MAPI = new Application().GetNamespace("MAPI");
var ExampleFolder = MAPI.GetDefaultFolder(OlDefaultFolders.olFolderSentMail)

foreach (dynamic i in ExampleFolder.Items)
  if (i.Attachments.Count > 0)
    ; // DoSomething();

不幸的是,这非常慢

  • 有没有更快的方法来检查附件?
  • 是否可以按日期过滤/排序电子邮件:仅循环最后 n 个项目?

最佳答案

当然,您可以使用 Items.Sort 对集合进行排序。 您还可以使用 Items.Find/FindNext 或 Items.Restrict 查找仅带有附件的项目。您需要的属性是 PR_HASATTACH(DASL 名称 http://schemas.microsoft.com/mapi/proptag/0x0E1B000B)

关于interop - Microsoft Outlook Interop(提取附件)非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998170/

相关文章:

C#/IronPython 与共享 C# 类库的互操作

c# - 将指针传递给通用结构

VBA Excel 使用表名检查特定表是否存在

excel - 将 Outlook 附件中的所有 Excel 工作簿保存到另一个位置

c# - 在一次调用中从 Excel 中检索多个单元格属性?

VBA 状态栏

c# - 使用 DlImport、Entrypoint 从 C# 调用命名空间中的 C++ 函数

c# - 从 C# 引用 VBA 程序集时出现运行时错误

outlook - 如何在 Outlook 资源管理器窗口中为自定义项目设置自定义图标?

c# - EWS Managed API 如何区分不同的约会?