主题的高级搜索导致错误 438 - 对象不支持此属性或方法



我想在我当前的Outlook文件夹中搜索主题为"订单14567"的电子邮件。

以下代码中出现错误(438-对象不支持此属性或方法。):

Set objSch = Application.AdvancedSearch(scope:=strS, _
            Filter:=strF, Tag:=strTag)   

VBA代码:

Sub SearchInboxFolder()
'Searches the Inbox
    Dim objSch As Search
    Const strF As String = "urn:schemas:mailheader:subject = 'order 14567'"
    Const strS As String = "Inbox"
    Const strTag As String = "SubjectSearch"
    Set objSch = Application.AdvancedSearch(scope:=strS, _
        Filter:=strF, Tag:=strTag)
End Sub

看起来Store的IsInstantSearchEnabled属性返回false,即商店的即时搜索被关闭。在这种情况下,您需要使用如下搜索字符串:

"urn:schemas:mailheader:subject like '%order 14567%'"

您可以在MSDN的"使用查询关键字筛选项目"部分中阅读有关筛选字符串的信息。

此外,您可能会发现Items类的find/FindNext或Restrict方法很有用。它们在以下文章中有详细描述:

  • 以编程方式在Outlook中进行高级搜索:C#、VB.NET
  • 如何:使用Find和FindNext方法从文件夹中检索Outlook邮件项目(C#、VB.NET)
  • 如何:使用Restrict方法从文件夹中检索Outlook邮件项目

相关内容

  • 没有找到相关文章

最新更新