我无法在任何地方看到完整的列表,它使生活创建工具的前景特别痛苦。
我在WPF中创建了一系列与Microsoft.Office.Interop.Outlook集成的工具
我可以使用.find和.restrict来应用过滤器,就像下面的示例一样:
restrictedItems = inboxFolder.Items
.Restrict("[ReceivedTime] > '" + dateFilter1.ToString("MM/dd/yyyy HH:mm")
+ "' And [ReceivedTime] < '" + dateFilter2.ToString("MM/dd/yyyy HH:mm") + "' ");
然而,我只是不知道我可以用来过滤的所有可能字段。微软做了很糟糕的工作来记录它。
以下是一些例子: [ReceivedTime] [MessageClass的] [LastModificationTime]
但我想拥有一切
任何方向?
答案 0 :(得分:2)
它可以是任何MailItem
,ContactItem
,AppointmentItem
等属性(有一些排除项,您无法使用任何PT_BINARY
属性)。如果查询采用SQL格式(前缀为@SQL=
)并且您以DASL格式(引用)指定属性名称,则还可以指定任何MAPI属性。例如。要过滤PR_MESSAGE_DELIVERY_TIME
属性,请使用类似
@SQL="http://schemas.microsoft.com/mapi/proptag/0x0E060040" > '03/05/2017'
要找出DASL属性名称,可以使用OutlookSpy - 选择消息,单击OutlookSpy功能区上的IMessage按钮,在GetProps选项卡上选择相应的属性,查看DASL编辑框。 OutlookSpy还可以显示所有实时Outlook对象模型对象(单击项目按钮等)