Se você quiser substituir a categoria de cor de um item do Outlook, precisará remover a original quando uma nova categoria for atribuída. Assim, neste artigo, vamos ensinar como automatizar isso via VBA.
A principal razão pela qual usamos categorias de cores no Outlook é classificar e gerenciar melhor seus itens do Outlook. Além disso, o Outlook nos permite atribuir uma ou mais categorias de cores a um item. No entanto, muitas categorias atribuídas a um único item podem, às vezes, sobrecarregar suas regras de classificação. Portanto, muitos usuários desejam substituir a categoria de cores em vez de sobrepor as categorias. Aqui vamos expor uma forma eficaz para você.

Substituir a categoria de cores de um item do Outlook
- No início, inicie seu aplicativo Outlook.
- Em seguida, mude para a guia “Desenvolvedor” e clique no botão “Visual Basic” ou pressione os atalhos de teclado “Alt + F11”.
- Em seguida, você entrará na janela “Microsoft Visual Basic for Applications”.
- Neste ponto, você deve clicar duas vezes no projeto “ThisOutlookSession” no lado esquerdo para abri-lo.
- Posteriormente, copie os seguintes códigos VBA para esta janela do projeto.
Public WithEvents objExplorer As Outlook.Explorer
Public WithEvents objInspectors As Outlook.Inspectors
'Take Mailitem as an example
Public WithEvents objMail As Outlook.MailItem
Private Sub Application_Startup()
Set objExplorer = Outlook.Application.ActiveExplorer
Set objInspectors = Outlook.Application.Inspectors
End Sub
Private Sub objExplorer_Activate()
On Error Resume Next
Set objMail = objExplorer.Selection.Item(1)
End Sub
Private Sub objInspectors_NewInspector(ByVal Inspector As Inspector)
Set objMail = Inspector.CurrentItem
End Sub
Private Sub objMail_PropertyChange(ByVal Name As String)
Dim strSpecificCategory As String
Dim strCategories As String
Dim varArray As Variant
Dim i As Long
If Name = "Categories" Then
strCategories = objMail.Categories
varArray = Split(objMail.Categories, ",")
If UBound(varArray) >= 1 Then
'If want to get a confirmation before removing the original category
'Add the following lines
'Dim strPrompt As String
'Dim nResponse As Integer
'strPrompt = "Do you want to remove the original color category?"
'nResponse = MsgBox(strPrompt, vbQuestion + vbYesNo, "Color Category Assignment")
'If nResponse = vbYes Then
For i = 0 To UBound(varArray)
'Remove the previous color categories
varArray(1) = ""
'Rebuild the categories
objMail.Categories = Join(varArray, ",")
Exit Sub
Next i
'End If
End If
End If
End Sub
- Depois disso, você deve atribuir um certificado digital a essa nova macro.
- Mais tarde, você precisa verificar as configurações de macro do Outlook para garantir que as macros assinadas estejam habilitadas.
- Por fim, você deverá reiniciar o Outlook para ativar o novo projeto VBA.
- A partir de agora, toda vez que você atribuir uma nova categoria a um item, a anterior será automaticamente removida.
Lidar com problemas irritantes do Outlook
Como o Outlook é propenso a erros e corrupção, você encontrará vários problemas em seu Outlook. Portanto, você deve tomar cuidado suficiente. Por exemplo, é aconselhável fazer backups regulares do seu arquivo PST. Além disso, você deve se apossar de um poderoso correção PST ferramenta, como DataNumen Outlook Repair.
Introdução do autor:
Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar Sql Server e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com
