Come contrassegnare in batch tutte le e-mail come lette in tutte le cartelle di Outlook con VBA

Condividi ora:

Più utenti desiderano una soluzione per contrassegnare in batch tutte le e-mail come lette in tutte le cartelle di Outlook. In questo articolo, ti presenteremo un tale metodo.  

Come tutti sappiamo, è facile contrassegnare come letti tutti i messaggi di una cartella. Basta selezionare e fare clic con il tasto destro sulla cartella, quindi scegliere l'opzione "Segna tutto come già letto" nel menu contestuale. Tuttavia, se ci sono più cartelle con e-mail non lette, con i mezzi di cui sopra, devi eseguire le cartelle una per una. È troppo fastidioso. Quindi, qui ti condivideremo un modo molto più efficiente, che ti permetterà di realizzarlo in blocco.

Batch Contrassegna tutte le e-mail come lette in tutte le cartelle di Outlook

  1. Per iniziare, avvia l'applicazione Outlook.
  2. Quindi, premi "Alt + F11" per accedere all'editor VBA di Outlook.
  3. Successivamente, nella finestra "Microsoft Visual Basic for Applications", copia il codice seguente in un modulo inutilizzato.
Sub MarkAllItemsAsRead()
    Dim objStores As Outlook.Stores
    Dim objStore As Outlook.Store
    Dim objOutlookFile As Outlook.Folder
    Dim objFolder As Outlook.Folder
 
    'Process all Outlook files
    Set objStores = Outlook.Application.Session.Stores
  
    For Each objStore In objStores
        Set objOutlookFile = objStore.GetRootFolder
 
        For Each objFolder In objOutlookFile.Folders
            'Process mail folders
            If objFolder.DefaultItemType = olMailItem Then
               Call ProcessFolders(objFolder)
            End If
        Next
    Next
End Sub

Sub ProcessFolders(ByVal objCurFolder As Outlook.Folder)
    Dim objUnreadItems As Outlook.Items
    Dim i As Integer
    Dim objItem As Object
    Dim objSubFolder As Outlook.Folder
 
    Set objUnreadItems = objCurFolder.Items.Restrict("[Unread]=True")
 
    'Mark all unread emails as read
    For i = 1 To objUnreadItems.Count
        Set objItem = objUnreadItems.Item(i)
        objItem.UnRead = False
        objItem.Save
    Next
 
    'Process subfolders recursively
    If objCurFolder.Folders.Count > 0 Then
       For Each objSubFolder In objCurFolder.Folders
           Call ProcessFolders(objSubFolder)
       Next
    End If
End Sub

Codice VBA: contrassegna in batch tutte le e-mail come lette in tutte le cartelle di Outlook

  1. Successivamente, posiziona il cursore nella prima subroutine.
  2. Successivamente, premere il tasto "F5" o fare clic sull'icona "Esegui" nella barra degli strumenti.
  3. Alla fine, dopo il completamento della macro, puoi tornare all'elenco delle cartelle di posta.
  4. Lì vedrai che tutte le email non lette sono state contrassegnate come lette, come mostrato nello screenshot.Tutte le email sono state lette

Fuga dalla miserabile perdita di dati di Outlook

Gli utenti potrebbero aver accettato il fatto che i documenti di Word e le cartelle di lavoro di Excel possono essere facilmente corrotti. In effetti, simile a questi file, anche il file di dati di Outlook è soggetto a danni. Quindi, se sei riluttante a sperimentarlo, dovresti intraprendere alcune azioni. Dovrebbe includere precauzioni, come backup regolari e blocco di tutti i malware o virus, e alcune misure di soccorso, come sapere come avviare lo strumento di riparazione della posta in arrivo, Scansione e mantenere un potente strumento di correzione esterno, come ad esempio DataNumen Outlook Repair.

Introduzione dell'autore:

Shirley Zhang è un'esperta di recupero dati in DataNumen, Inc., che è il leader mondiale nelle tecnologie di recupero dati, tra cui riparazione mdf e prodotti software di riparazione di Outlook. Per maggiori informazioni visita www.datanumen.com

Condividi ora:

I commenti sono chiusi.