使用“查找”在Outlook / Redemption中查找用户属性

问题描述 投票:0回答:1

我正试图从我们的C#windows桌面应用程序返回Outlook中的一个calendaritem。它不断返回此错误:Redemption.RDOItems断言失败:字段数== 1。

我在我创建的Outlook插件中使用类似的代码,它工作正常。主要区别在于filterprefix。在AddIn中我使用:

string filterprefix =“[”+ OurCustomProperty.OurItemId +“] ='”; var filter1 = filterprefix + parentItem.NeedlesId +“'”;

VAR =分裂folder.Items.Find(过滤器1);

但此代码不适用于您的桌面应用程序。

以下是桌面App中返回错误的代码:

appointment.Id包含我们在创建项目时设置的有效值。

string Filterprefix =“@ SQL =”+“http://schemas.microsoft.com/mapi/string/ {00020329-0000-0000-C000-000000000046} /OurCustomProperty.OurItemId/0x0000001f ='”;

RDOSession rdoSession = new RDOSession();

rdoSession.Logon(“”,“”,false,false,null,false);

RDOFolder folderRDO = rdoSession.GetDefaultFolder(rdoDefaultFolders.olFolderCalendar);

var filter1 = filter prefix + appointment.Id +“”“;

string ls_find = Filterprefix + appointment.Id +“'”;

VAR =分裂folderRDO.Items.Find(ls_find);

我已经尝试了几种语法变体,但似乎无法做到正确。我也尝试使用Sort然后限制,但也没有运气。

谢谢,里克

outlook find outlook-redemption
1个回答
0
投票

RDOItems.Find采用SQL语句,请不要使用@SQL=前缀 - 它是特定于OOM的。另外不要忘记双引用DASL属性名称:

"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/OurCustomProperty.OurItemId/0x0000001f" = '<some value>'
© www.soinside.com 2019 - 2024. All rights reserved.