Sådan batches markering af alle e-mails som læst i alle Outlook-mapper med VBA

Flere brugere længes efter en løsning til batchmarkering af alle e-mails som læst i alle Outlook-mapper. I denne artikel vil vi introducere en sådan metode til dig.  

Som vi alle ved, er det let at markere alle mails i en mappe som læst. Vælg og højreklik bare på mappen, og vælg derefter "Marker alt som læst" i kontekstmenuen. Men hvis der er flere mapper, der har ulæste e-mails, skal du udføre på mapperne en efter en på ovenstående måde. Det er for besværligt. Derfor vil vi her dele dig en meget mere effektiv måde, der giver dig mulighed for at realisere det i bulk.

Batchmarker alle e-mails som læst i alle Outlook-mapper

  1. Til start med, start Outlook-applikationen.
  2. Tryk derefter på "Alt + F11" for at få adgang til Outlook VBA-editor.
  3. Kopier derefter koden nedenfor i et ubrugt modul i vinduet “Microsoft Visual Basic for Applications”.
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

VBA-kode - Batchmarker alle e-mails som læst i alle Outlook-mapper

  1. Derefter skal du placere markøren i den første subrutine.
  2. Tryk derefter på "F5" -tasten eller klik på "Kør" -ikonet i værktøjslinjen.
  3. Til sidst, når makroen er afsluttet, kan du gå tilbage til listen over e-mail-mapper.
  4. Der vil du se, at alle ulæste e-mails er markeret som læst, som vist på skærmbilledet.Alle e-mails er læst

Undslippe fra elendigt datatab i Outlook

Brugere har muligvis accepteret en kendsgerning, at Word-dokumenter og Excel-projektmapper let kan blive ødelagt. Som en kendsgerning, ligesom disse filer, er Outlook-datafilen også tilbøjelig til skade. Derfor, hvis du er tilbageholdende med at opleve det, bør du tage nogle handlinger. Det skal omfatte forholdsregler, som regelmæssig sikkerhedskopiering og blokering af al malware eller vira, og nogle nødhjælpsforanstaltninger, som at vide, hvordan man starter reparationsværktøj til indbakken, scanpst og holde et kraftfuldt eksternt fixværktøj, f.eks DataNumen Outlook Repair.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder reparation mdf og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.