如何在Outlook C中枚举自定义用户属性的值#

如何在Outlook C中枚举自定义用户属性的值#,outlook,vsto,outlook-addin,Outlook,Vsto,Outlook Addin,我在Outlook中创建了名为“所有权”的自定义用户属性。当团队中的某个人声明电子邮件的所有权时,该人的姓名将保存为其值 我的问题是,有没有办法将这个自定义属性的所有值枚举到组合框中 简单地说,获取所有团队成员姓名的列表(声称拥有收件箱文件夹中电子邮件所有权的人) 我想做这样的事 Outlook.UserDefinedProperties userDefinedProperties = null; Outlook.UserDefinedProperty userDefinedProperty =

我在Outlook中创建了名为“所有权”的自定义用户属性。当团队中的某个人声明电子邮件的所有权时,该人的姓名将保存为其值

我的问题是,有没有办法将这个自定义属性的所有值枚举到组合框中

简单地说,获取所有团队成员姓名的列表(声称拥有收件箱文件夹中电子邮件所有权的人)

我想做这样的事

Outlook.UserDefinedProperties userDefinedProperties = null;
Outlook.UserDefinedProperty userDefinedProperty = null;

Outlook.MAPIFolder currentFolder = application.ActiveExplorer().CurrentFolder;
mailUserProperties = currentFolder.UserDefinedProperties;
mailUserProperty = mailUserProperties["Ownership"];

// Filling up the combo box
PersonCombo.Items.Add(userDefinedProperty.Value);

我想使用当前文件夹,因为文件夹将具有所有值,而电子邮件只能具有自定义属性的一个值

如果这是不可能的,有没有其他方法来完成


提前感谢。

没有一个查询会返回特定命名属性的所有唯一值。最好的方法是搜索属性存在的所有项目(非空),然后构建唯一值列表


但是,我不认为这是存储可能值的好方法-它必须是单个源,例如特定的GAL分发列表,或者文件夹中的隐藏(关联)消息,该消息将所有可能值存储在单个属性中

没有一个查询会返回特定命名属性的所有唯一值。最好的方法是搜索属性存在的所有项目(非空),然后构建唯一值列表


但是,我不认为这是存储可能值的好方法-它必须是单个源,例如特定的GAL分发列表,或者文件夹中的隐藏(关联)消息,该消息将所有可能值存储在单个属性中

谢谢大家的意见。
最后,我按照Dmitry的建议创建了GAL分发列表,并将其用于我的目的。

谢谢大家的意见。
最后,我按照Dmitry的建议创建了GAL分发列表,并将其用于我的目的。

如果您已经了解团队中的所有人员,为什么不在组合框中填入他们的姓名?@EugeneAstafiev这是因为我的外接程序将由不同的部门使用,如果有新加入部门,我不想保留人员列表。如果你已经认识团队中的所有人员,为什么不在组合框中填入他们的姓名?@EugeneAstafiev这是因为我的外接程序将由不同的部门使用,如果有新加入部门,我不想维护人员列表。