Note: The other languages of the website are Google-translated. Back to English
Accedi  \/ 
x
or
x
Registrati  \/ 
x

or

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


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:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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!
fondo officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    syedatifmasroor · 7 months ago
    I want to add more feature in this code. For instance, once email moved to business folder, I need this email to be automatically forward to specific email address. Possible?
  • To post as a guest, your comment is unpublished.
    Remco · 10 months ago
    it works as a charm but i want to take it to the next step. using a different folder instead of the inbox for example a folder called 2020 under the head and then from there the mentioned subfolders based on Categories. i was thinking to add this line.. Set xInboxFld = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).outlook.Application.Session.GetDefaultFolder(xMailItem.Categories)
  • To post as a guest, your comment is unpublished.
    remco · 1 years ago
    worked on all mails not only after read. i created a rule mention a certain name that it gets a catergory. how can make it that it only takes the mails which are read?

  • To post as a guest, your comment is unpublished.
    santos · 1 years ago
    This worked for me. would you be able to edit the code just to have the messages moved to one folder instead of creating one for each category. I have all the emails in one folder regardless of category and sort them in the folder.
  • To post as a guest, your comment is unpublished.
    Alex · 1 years ago
    At first this did not work for me either but after a while it just started to work, I'm not sure why though.
  • To post as a guest, your comment is unpublished.
    elon · 3 years ago
    same here. Didn't work
  • To post as a guest, your comment is unpublished.
    supermankelly · 3 years ago
    Did not work.