如何在Outlook.MailItems中搜索UserProperty的名称,而不是其值

时间:2018-09-23 16:37:17

标签: c# vsto outlook-addin add-in visual-studio-addins

背景:

当前,我正在搜索Outlook.MailItems,它们的UserProperty(在此为“ IsProcessed”)等于其propertyValue(在此为true或false)。

string propertyValue = "true";
string filter = "http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/IsProcessed LIKE \'%" + propertyValue + "%\'";

我正在AdvancedSearch link to doc

中使用此过滤器字符串

问题陈述:

我的用例是搜索这些mailItem是否分配了任何UserProperty,其中UserProperty的名称=“ IsProcessed”。

有什么办法可以使用类似的DASL过滤器字符串吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

否,您需要了解GUID。 OOM中的所有使用属性都使用{00020329-0000-0000-C000-000000000046}(即PS_PUBLIC_STRINGS)的GUID。

使用OutlookSpy查看现有消息(选择消息,单击IMessage按钮)-选择命名属性(强制)时,OutlookSpy将显示其GUID,ID和DASL名称。