Come spostare le e-mail nella cartella specificata dopo aver assegnato una determinata categoria in Outlook?
Supponendo di aver assegnato una categoria a un'e-mail ricevuta in Outlook, dopo aver assegnato la categoria, desideri che questa e-mail si sposti automaticamente in una determinata cartella di posta elettronica denominata con il nome della categoria. Ad esempio, un messaggio di posta elettronica assegnato con la categoria "Privato" verrà spostato in una cartella con nome "Privato" in Outlook. Come ottenerlo? Il metodo in questo articolo può aiutarti a risolvere il problema con facilità.
Sposta i messaggi di posta elettronica nella cartella specificata dopo aver assegnato una determinata categoria con VBA
Il codice VBA sottostante può aiutare a spostare automaticamente le e-mail nella cartella specificata dopo aver assegnato una determinata categoria in Outlook. Si prega di fare quanto segue.
1. premi il altro + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.
2. Nel Microsoft Visual Basic, Applications Edition finestra, fare doppio clic per aprire il file ThisOutlookSession (codice) finestra. Quindi copia sotto il codice VBA nella finestra. Vedi screenshot:
Codice VBA: sposta le e-mail nella cartella specificata dopo aver assegnato una determinata 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. Salvare il codice e riavviare Outlook.
4. D'ora in poi, quando si assegna una categoria a un'e-mail di ricezione, una cartella con il nome della categoria verrà creata automaticamente nella cartella Posta in arrivo con l'e-mail spostata. Vedi screenshot:
Note:: Tutti i messaggi di posta elettronica assegnati alla stessa categoria verranno spostati automaticamente nella stessa cartella. Ma se una nuova categoria viene assegnata a un'e-mail, verrà creata automaticamente una nuova cartella.
Articoli correlati:
- Come assegnare una categoria alla posta in uscita in Outlook?
- Come mantenere le categorie originali quando si risponde o si inoltra la posta elettronica in Outlook?
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze in Excel con Kutools for Excele sperimenta l'efficienza come mai prima d'ora. Kutools for Excel Offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!








