Så här grupperar du alla e-postmeddelanden som lästa i alla Outlook-mappar med VBA

Flera användare längtar efter en lösning för att markera alla e-postmeddelanden som lästa i alla Outlook-mappar. I den här artikeln kommer vi att presentera en sådan metod för dig.  

Som vi alla vet är det enkelt att markera alla mejl i en mapp som lästa. Välj bara och högerklicka på mappen och välj sedan alternativet "Markera allt som läst" i snabbmenyn. Men om det finns flera mappar med olästa e-postmeddelanden, måste du utföra på mapparna en efter en på ovanstående sätt. Det är för besvärligt. Därför kommer vi här att dela dig med ett mycket mer effektivt sätt, vilket gör att du kan förverkliga det i bulk.

Batchmarkera alla e-postmeddelanden som lästa i alla Outlook-mappar

  1. Till att börja med, starta Outlook-applikationen.
  2. Tryck sedan på "Alt + F11" för att komma åt Outlook VBA-redigeraren.
  3. Därefter kopierar du koden nedan i fönstret “Microsoft Visual Basic for Applications” till en oanvänd modul.
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-kod - Batchmarkera alla e-postmeddelanden som lästa i alla Outlook-mappar

  1. Därefter sätter du markören i den första subrutinen.
  2. Därefter trycker du på knappen “F5” eller klickar på ikonen “Kör” i verktygsfältet.
  3. Så småningom, efter att makrot har slutförts, kan du gå tillbaka till listan över e-postmappar.
  4. Där ser du att alla olästa e-postmeddelanden har markerats som lästa, som visas på skärmdumpen.Alla e-postmeddelanden har lästs

Fly från eländigt Outlook-dataförlust

Användare kan ha accepterat ett faktum att Word-dokument och Excel-arbetsböcker lätt kan skadas. I själva verket, liknar dessa filer, är Outlook-datafilen också benägen att skada. Därför, om du är ovillig att uppleva det, borde du vidta några åtgärder. Det bör innehålla försiktighetsåtgärder, som regelbunden säkerhetskopiering och blockering av all skadlig kod eller virus, och vissa lättnadsåtgärder, som att veta hur man startar reparationsverktyget för inkorgen, Scanpst och behålla ett kraftfullt externt fixverktyg, t.ex. DataNumen Outlook Repair.

Författarintroduktion:

Shirley Zhang är expert på dataåterställning DataNumen, Inc., som är världsledande inom teknik för återställning av data, inklusive reparera mdf och Outlook-programvara för reparationsprogramvara. För mer information besök www.datanumen.com

Kommentarer är stängda.