I’m a PHP programmer and am completely new to VBA…
In outlook I would like a simple prompt that displays something like the following:
Red Category: 5 Emails
Blue Category: 7 Emails
Yellow Category: 8 Emails
I got this from Microsoft:
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
But it just lists the Categories and their names. Can anybody help? Thanks.
Found out that this is easily achievable without VB.
Entering
Into the search bar, brings up all of the red-categorized emails. The total emails in this category are then displayed in the status bar.