Batch Markeer alle e-mails als gelezen in alle Outlook-mappen met VBA

Meerdere gebruikers verlangen naar een oplossing om alle e-mails als gelezen te markeren in alle Outlook-mappen. In dit artikel zullen we een dergelijke methode aan u introduceren.  

Zoals we allemaal weten, is het gemakkelijk om alle e-mails in een map als gelezen te markeren. Selecteer en klik met de rechtermuisknop op de map en kies vervolgens de optie "Alles markeren als gelezen" in het contextmenu. Als er echter meerdere mappen zijn met ongelezen e-mails, moet u op de bovenstaande manier de mappen een voor een uitvoeren. Het is te lastig. Daarom zullen we u hier een veel efficiëntere manier delen, waarmee u het in bulk kunt realiseren.

Batch Markeer alle e-mails als gelezen in alle Outlook-mappen

  1. Begin met het opstarten van de Outlook-applicatie.
  2. Druk vervolgens op "Alt + F11" om toegang te krijgen tot de Outlook VBA-editor.
  3. Kopieer vervolgens in het venster “Microsoft Visual Basic for Applications” de onderstaande code naar een ongebruikte module.
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-code - Batch Markeer alle e-mails als gelezen in alle Outlook-mappen

  1. Plaats daarna de cursor in de eerste subroutine.
  2. Druk vervolgens op de toets "F5" of klik op het pictogram "Uitvoeren" in de werkbalk.
  3. Uiteindelijk, nadat de macro is voltooid, kunt u teruggaan naar de e-maillijst.
  4. Daar zie je dat alle ongelezen e-mails zijn gemarkeerd als gelezen, zoals weergegeven in de schermafbeelding.Alle e-mails zijn gelezen

Ontsnap aan het ellendige gegevensverlies van Outlook

Gebruikers hebben mogelijk geaccepteerd dat Word-documenten en Excel-werkmappen gemakkelijk beschadigd kunnen raken. In feite is het Outlook-gegevensbestand, vergelijkbaar met deze bestanden, ook vatbaar voor beschadiging. Als u dat niet wilt ervaren, moet u daarom een ​​aantal maatregelen nemen. Het moet voorzorgsmaatregelen bevatten, zoals regelmatige back-ups en het blokkeren van alle malware of virussen, en enkele verlichtingsmaatregelen, zoals weten hoe je de inbox-reparatietool moet starten, scanpst en het behouden van een krachtig hulpmiddel voor externe reparatie, zoals DataNumen Outlook Repair.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder reparatie mdf en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.