如何通过从类别对话框中选择类别进行搜索?

How to search by choosing a category from the category dialog?

我想在 Outlook 搜索栏上搜索关键字。理想的过程是我可以使用搜索工具热键添加属性(例如 Sent ToReceivercc, 等等).

我直觉认为属性或关键字将存在于特定的邮件项目上。它在我搜索 Sent ToReceivercc 时有效,但当我想按“类别”搜索特定类别。它不会显示完整的类别列表。这里有相关评论。

有图解,供实际操作参考。

由于我有很多类别来管理我的电子邮件,我希望通过完整类别对话框选择一个类别,并将其输入到 Outlook 搜索栏。这样我就可以更快更准确的找到我要的邮件

上面是我对VBA代码的初步思考。 ():

Sub SearchByInputFromCategoryDialog
  'Open Category Dialog and choose one category
  StringOfCategory = Choosing Text
 
  txtSearch = "category:="category:(StringOfCategory )"
  myOlApp.ActiveExplorer.Search txtSearch, olSearchScopeAllFolders
end Sub

然后类别文本将显示在搜索栏上,以便我可以进一步敲击“输入”并开始搜索过程。

备注:

类别对话框可能存在问题,因为我无法找到是否存在通过类别对话框获取类别文本的VBA方法。

我在 Internet 上找到的最多信息 mainly focus on an item or selected item on explorer to add the category by the category dialog,但是我想使用的方法是 按类别对话框获取类别文本

您可以return来自支持类别的对象的类别。

Option Explicit ' Consider this mandatory
' Tools | Options | Editor tab
' Require Variable Declaration
' If desperate declare as Variant

Sub SearchByInputFromCategoryDialog()

    Dim StringOfCategory As String
    Dim txtSearch As String
    
    Dim obj As Object
        
    'Open Category Dialog and choose one category
    Set obj = CreateItem(olMailItem)
    obj.ShowCategoriesDialog
    StringOfCategory = obj.categories
    Debug.Print StringOfCategory
    
    'txtSearch = "category:=""Red category"""
    'Debug.Print txtSearch
    
    txtSearch = "category:=""" & StringOfCategory & """"
    Debug.Print txtSearch
     
    ActiveExplorer.Search txtSearch, olSearchScopeAllFolders

End Sub