Como substituir a categoria de cores de um item do Outlook pelo VBA

Compartilhe agora:

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ê.

Substitua a categoria de cor de um item do Outlook por VBA

Substituir a categoria de cores de um item do Outlook

  1. No início, inicie seu aplicativo Outlook.
  2. Em seguida, mude para a guia “Desenvolvedor” e clique no botão “Visual Basic” ou pressione os atalhos de teclado “Alt + F11”.
  3. Em seguida, você entrará na janela “Microsoft Visual Basic for Applications”.
  4. Neste ponto, você deve clicar duas vezes no projeto “ThisOutlookSession” no lado esquerdo para abri-lo.
  5. 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

Código VBA - Substitua a categoria de cores de um item do Outlook

  1. Depois disso, você deve atribuir um certificado digital a essa nova macro.
  2. Mais tarde, você precisa verificar as configurações de macro do Outlook para garantir que as macros assinadas estejam habilitadas.
  3. Por fim, você deverá reiniciar o Outlook para ativar o novo projeto VBA.
  4. 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

Compartilhe agora:

Comentários estão fechados.