【问题标题】:How to enumerate values of custom user property in Outlook C#如何在 Outlook C# 中枚举自定义用户属性的值
【发布时间】:2019-07-30 20:29:06
【问题描述】:

我在 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);

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

如果这不可行,还有其他方法可以完成吗?

提前谢谢你。

【问题讨论】:

  • 如果您已经认识团队中的所有人,为什么不在组合框中填写他们的姓名?
  • @EugeneAstafiev 这是因为我的加载项将被不同的部门使用,如果有人新加入该部门,我不想维护人员列表。

标签: outlook vsto outlook-addin


【解决方案1】:

没有一个查询会返回特定命名属性的所有唯一值。您可以做的最好的事情是搜索该属性存在的所有项目(不为空),然后构建一个唯一值列表。

然而,我不认为这对存储可能的值有好处 - 它确实必须是单一来源,例如特定的 GAL 分发列表,或存储所有可能值的文件夹中的隐藏(关联)消息在单个属性中。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2021-08-07
      • 2011-07-03
      • 1970-01-01
      • 2023-03-05
      • 2018-02-06
      • 2020-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多