【发布时间】:2019-12-14 20:40:25
【问题描述】:
我正在尝试从我们的 C# Windows 桌面应用程序从 Outlook 返回单个日历项。它不断返回此错误: Redemption.RDOItems 断言失败:字段数 == 1。
我在我创建的 Outlook 插件中使用了类似的代码,它工作正常。主要区别在于过滤器前缀。 在我使用的插件中:
string filterprefix = "[" + OurCustomProperty.OurItemId + "] = '";
var filter1 = filterprefix + parentItem.NeedlesId + "'";
var findItem = folder.Items.Find(filter1);
但此代码不适用于我们的桌面应用程序。
这是返回错误的桌面应用程序的代码:
约会.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 = filterprefix + appointment.Id + "'";
string ls_find = Filterprefix + appointment.Id + "'" ;
var findItem = folderRDO.Items.Find(ls_find);
我尝试了几种语法变体,但似乎无法正确使用。 我也尝试使用 Sort 然后 Restrict 但也没有运气。
谢谢,瑞克
【问题讨论】:
标签: outlook find outlook-redemption