【问题标题】:VBA Count Outlook CategoriesVBA 计数 Outlook 类别
【发布时间】:2012-10-15 14:09:19
【问题描述】:

我是一名 PHP 程序员,对 VBA 完全陌生...

在 Outlook 中,我想要一个显示如下内容的简单提示:

Red Category: 5 Emails
Blue Category: 7 Emails
Yellow Category: 8 Emails

我从微软那里得到这个:

Sub ListCategoryColors()
 Dim objNameSpace As NameSpace
 Dim objCategory As Category
 Dim strOutput As String

 ' Obtain a NameSpace object reference.
 Set objNameSpace = Application.GetNamespace("MAPI")

 ' Check if the Categories collection for the Namespace
 ' contains one or more Category objects.
 If objNameSpace.Categories.Count > 0 Then

 ' Enumerate the Categories collection, checking
 ' the value of the Color property for
 ' each Category object.
 For Each objCategory In objNameSpace.Categories

 ' Add the name of the Category object to
 ' the output string.
 strOutput = strOutput & objCategory.Name

 ' Add information about the assigned color
 ' to the output string.
 Select Case objCategory.Color
 Case OlCategoryColor.olCategoryColorNone
 strOutput = strOutput & ": No color" & vbCrLf
 Case OlCategoryColor.olCategoryColorBlack
 strOutput = strOutput & ": Black " & vbCrLf
 Case OlCategoryColor.olCategoryColorBlue
 strOutput = strOutput & ": Blue" & vbCrLf
 Case OlCategoryColor.olCategoryColorGray
 strOutput = strOutput & ": Gray" & vbCrLf
 Case OlCategoryColor.olCategoryColorGreen
 strOutput = strOutput & ": Green" & vbCrLf
 Case OlCategoryColor.olCategoryColorMaroon
 strOutput = strOutput & ": Maroon" & vbCrLf
 Case OlCategoryColor.olCategoryColorOlive
 strOutput = strOutput & ": Olive" & vbCrLf
 Case OlCategoryColor.olCategoryColorOrange
 strOutput = strOutput & ": Orange" & vbCrLf
 Case OlCategoryColor.olCategoryColorPeach
 strOutput = strOutput & ": Peach" & vbCrLf
 Case OlCategoryColor.olCategoryColorPurple
 strOutput = strOutput & ": Purple" & vbCrLf
 Case OlCategoryColor.olCategoryColorRed
 strOutput = strOutput & ": Red" & vbCrLf
 Case OlCategoryColor.olCategoryColorSteel
 strOutput = strOutput & ": Steel" & vbCrLf
 Case OlCategoryColor.olCategoryColorTeal
 strOutput = strOutput & ": Teal" & vbCrLf
 Case OlCategoryColor.olCategoryColorYellow
 strOutput = strOutput & ": Yellow" & vbCrLf
 Case Else
 strOutput = strOutput & ": Unknown" & vbCrLf
 End Select
 Next
 End If

 ' Display the output string.
 MsgBox strOutput

 ' Clean up.
 Set objCategory = Nothing
 Set objNameSpace = Nothing

End Sub

但它只列出了类别及其名称。有人可以帮忙吗?谢谢。

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    发现这在没有 VB 的情况下很容易实现。

    进入

    Category="red"
    

    进入搜索栏,显示所有红色分类的电子邮件。此类别中的电子邮件总数随后会显示在状态栏中。

    【讨论】:

      猜你喜欢
      • 2018-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多