【问题标题】:Outlook Custom field filtering using MAPI使用 MAPI 进行 Outlook 自定义字段筛选
【发布时间】:2016-09-24 01:13:39
【问题描述】:

我尝试在 Outlook 中过滤自定义属性获取联系人。我保存了用户属性调用“SyncValue”。它有字符串值。我尝试检查这些值并让 contactitem 具有该属性值。

Outlook.ContactItem contactItem = null;
string syncVal = (char)34 + "http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/SyncValue" + (char)34;
Outlook.MAPIFolder contacts = Globals.objNS.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderContacts);
Outlook.Items contactItems = contacts.Items;
string filter = "WHERE (" + syncVal + " = 'True')";
contactItem = contactItems.Find(filter) as Outlook.ContactItem;

【问题讨论】:

  • 还有什么问题?属性的数据类型是什么? OOM 默认假定一个字符串,你很可能有一个布尔值。
  • 我将属性保存为字符串值“True”或“False”。问题是在获取 ContactItems 时会发生错误 -“条件无效”

标签: outlook outlook-addin


【解决方案1】:

您的过滤器字符串必须以@SQL= 为前缀。你不应该使用“WHERE”:

string filter = "@SQL=" + syncVal + " = 'True')";

【讨论】:

  • @dimitry 感谢您的回答。
  • 是的,它获取具有该自定义属性的 Contactitem
  • 如果回答了您的问题,请将回复标记为答案。谢谢!。
猜你喜欢
  • 2023-03-09
  • 1970-01-01
  • 2020-07-21
  • 1970-01-01
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 2010-12-08
  • 2013-03-07
相关资源
最近更新 更多