Como mover e-mails para a pasta especificada após atribuir certa categoria no Outlook?
Supondo que você atribuiu uma categoria a um e-mail recebido em seu Outlook, após atribuir a categoria, você deseja que esse e-mail seja movido automaticamente para uma determinada pasta de e-mail com o nome da categoria. Por exemplo, um e-mail atribuído com a categoria “Privado” será movido para uma pasta com o nome “Privado” no Outlook. Como conseguir isso? O método neste artigo pode ajudá-lo a resolver o problema com facilidade.
Mova e-mails para a pasta especificada após atribuir certa categoria com VBA
Mova e-mails para a pasta especificada após atribuir certa categoria com VBA
O código VBA a seguir pode ajudar a mover e-mails automaticamente para a pasta especificada após atribuir certa categoria no Outlook. Faça o seguinte.
1. aperte o outro + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. No Microsoft Visual Basic para Aplicações janela, clique duas vezes para abrir o ThisOutlookSession (Código) janela. Em seguida, copie o código VBA abaixo para a janela. Veja a imagem:
Código VBA: Mova e-mails para a pasta especificada após atribuir certa categoria
Private WithEvents xInboxFld As Outlook.Folder
Private WithEvents xInboxItems As Outlook.Items
Private Sub Application_Startup()
Set xInboxFld = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
Set xInboxItems = xInboxFld.Items
End Sub
Private Sub xInboxItems_ItemChange(ByVal Item As Object)
Dim xMailItem As Outlook.MailItem
Dim xFlds As Outlook.Folders
Dim xFld As Outlook.Folder
Dim xTargetFld As Outlook.Folder
Dim xFlag As Boolean
On Error Resume Next
If Item.Class = olMail Then
Set xMailItem = Item
xFlag = False
If xMailItem.Categories <> "" Then
Set xFlds = Application.Session.GetDefaultFolder(olFolderInbox).Folders
If xFlds.Count <> 0 Then
For Each xFld In xFlds
If xFld.Name = xMailItem.Categories Then
xFlag = True
End If
Next
End If
If xFlag = False Then
Application.Session.GetDefaultFolder(olFolderInbox).Folders.Add xMailItem.Categories, olFolderInbox
End If
Set xTargetFld = Application.Session.GetDefaultFolder(olFolderInbox).Folders(xMailItem.Categories)
xMailItem.Move xTargetFld
End If
End If
End Sub
3. Salve o código e reinicie o Outlook.
4. A partir de agora, ao atribuir a categoria a um e-mail de recebimento, uma pasta com o nome da categoria será criada automaticamente na pasta Caixa de entrada com o e-mail movido. Veja a imagem:
Note: Todos os emails atribuídos à mesma categoria serão movidos para a mesma pasta automaticamente. Mas se uma nova categoria for atribuída a um e-mail, uma nova pasta será criada automaticamente.
Artigos relacionados:
- Como atribuir categoria a e-mail de saída no Outlook?
- Como manter as categorias originais ao responder ou encaminhar e-mail no Outlook?
Melhores ferramentas de produtividade de escritório
Aprimore suas habilidades de Excel com o Kutools para Excel e experimente uma eficiência como nunca antes. Kutools para Excel oferece mais de 300 recursos avançados para aumentar a produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
Office Tab traz interface com guias para o Office e torna seu trabalho muito mais fácil
- Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
- Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!