使用Outlook对象筛选的_Items.Restrict方法时,“不支持使用like的模糊查询”

网友投稿 324 2022-06-23


现象:

用Microsoft.Office.Interop.Outlook取得日历项,然后根据业务要求筛选。

items.Restrict方法中的筛选器,使用like进行模糊查询时,会出COMException异常。

代码:

异常:

原因:

将属性名括在方括号内的写法叫做“Jet 筛选器”。在 Jet 查询中,只能对关键字属性进行短语匹配。

不能通过 Jet 查询进行开头或子字符串匹配。 即不支持like模糊查询。

为了克服使用 Jet 查询语法时关键字限制条件的局限性,请使用允许开头或子字符串限制条件的 DASL 语法。

解决:

使用与 Keywords 属性的比较筛选项目

将筛选器字符串改为如下:

rstFilter = string.Format("@SQL=http://schemas.microsoft.com/mapi/proptag/0x0037001f ci_phrasematch '{0}' ", "会議");

详情:

Docs / Office VBA 参考 / Outlook / 操作说明主题 / 搜索和筛选 / 筛选 / 概述

其中使用DASL语法时,命名空间相关介绍:

Docs / Office VBA 参考 / Outlook / 操作说明主题  / 导航 / 属性概述 / 按命名空间引用属性


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python单元测试框架——unittest(python测试模块)
下一篇:WinDbg排查CPU高的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~