使用“查找”在 Outlook/Redemption 中查找用户 属性
Using Find to find a user property in Outlook/Redemption
我正在尝试从我们的 C# windows 桌面应用程序 return 来自 Outlook 的单个日历项。它保持 returning 这个错误:
Redemption.RDOItems
断言失败:字段数 == 1。
我在自己创建的 Outlook 插件中使用了类似的代码,并且运行良好。主要区别在于过滤器前缀。
在插件中我使用:
string filterprefix = "[" + OurCustomProperty.OurItemId + "] = '";
var filter1 = filterprefix + parentItem.NeedlesId + "'";
var findItem = folder.Items.Find(filter1);
但此代码不适用于我们的桌面应用程序。
这是来自桌面应用程序的代码,return出现错误:
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 = filterprefix + appointment.Id + "'";
string ls_find = Filterprefix + appointment.Id + "'" ;
var findItem = folderRDO.Items.Find(ls_find);
我尝试了多种语法变体,但似乎无法正确使用。
我也尝试过使用 Sort 然后 Restrict,但也没有成功。
谢谢,瑞克
RDOItems.Find
采用 SQL 语句,请不要使用 @SQL=
前缀 - 它是 OOM 特定的。也不要忘记双引号 DASL 属性 name:
"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/OurCustomProperty.OurItemId/0x0000001f" = '<some value>'
我正在尝试从我们的 C# windows 桌面应用程序 return 来自 Outlook 的单个日历项。它保持 returning 这个错误: Redemption.RDOItems 断言失败:字段数 == 1。
我在自己创建的 Outlook 插件中使用了类似的代码,并且运行良好。主要区别在于过滤器前缀。 在插件中我使用:
string filterprefix = "[" + OurCustomProperty.OurItemId + "] = '";
var filter1 = filterprefix + parentItem.NeedlesId + "'";
var findItem = folder.Items.Find(filter1);
但此代码不适用于我们的桌面应用程序。
这是来自桌面应用程序的代码,return出现错误:
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 = filterprefix + appointment.Id + "'";
string ls_find = Filterprefix + appointment.Id + "'" ;
var findItem = folderRDO.Items.Find(ls_find);
我尝试了多种语法变体,但似乎无法正确使用。 我也尝试过使用 Sort 然后 Restrict,但也没有成功。
谢谢,瑞克
RDOItems.Find
采用 SQL 语句,请不要使用 @SQL=
前缀 - 它是 OOM 特定的。也不要忘记双引号 DASL 属性 name:
"http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/OurCustomProperty.OurItemId/0x0000001f" = '<some value>'