View Single Post
 
Old 06-11-2019, 04:25 AM
gmayor's Avatar
gmayor gmayor is offline Windows 10 Office 2016
Expert
 
Join Date: Aug 2014
Posts: 4,103
gmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud ofgmayor has much to be proud of
Default

This is fairly straightforward, however categories are case sensitive, so the following assumes "trim", "Trim" or "TRIM" are all intended to equal "TRIM" and so if they exist "TRIM" is not added again.

Code:
Sub Add_Category()
Dim olItem As Object
Dim Arr As Variant
Dim i As Integer
Const strCat As String = "TRIM"
    On Error GoTo err_Handler
    Set olItem = Application.ActiveExplorer.Selection.Item(1)
    If TypeName(olItem) = "MailItem" Then
        Arr = Split(olItem.Categories, ",")
        If UBound(Arr) >= 0 Then
            For i = 0 To UBound(Arr)
                If Trim(UCase(Arr(i))) = strCat Then
                    Beep
                    MsgBox "Already categorised with " & strCat
                    GoTo lbl_Exit
                End If
            Next
        End If
        olItem.Categories = strCat & "," & olItem.Categories
        olItem.Save
    End If
lbl_Exit:
    Set olItem = Nothing
    Exit Sub
err_Handler:
    Beep
    MsgBox "Select a message!"
    Err.Clear
    GoTo lbl_Exit
End Sub
__________________
Graham Mayor - MS MVP (Word) (2002-2019)
Visit my web site for more programming tips and ready made processes www.gmayor.com
Reply With Quote