Como marcar em lote todos os e-mails como lidos em todas as pastas do Outlook com VBA

Compartilhe agora:

Vários usuários desejam uma solução para marcar em lote todos os e-mails como lidos em todas as pastas do Outlook. Neste artigo, apresentaremos esse método para você.  

Como todos sabemos, é fácil marcar todos os e-mails em uma pasta como lidos. Basta selecionar e clicar com o botão direito do mouse na pasta e escolher a opção “Marcar tudo como lido” no menu de contexto. No entanto, se houver várias pastas com e-mails não lidos, pelos meios acima, você deverá executar nas pastas uma a uma. É muito problemático. Portanto, aqui compartilharemos uma maneira muito mais eficiente, que permitirá que você o realize em massa.

Marcação em lote de todos os e-mails como lidos em todas as pastas do Outlook

  1. Para começar, abra o aplicativo Outlook.
  2. Em seguida, pressione “Alt + F11” para acessar o editor VBA do Outlook.
  3. Em seguida, na janela “Microsoft Visual Basic for Applications”, copie o código abaixo em um módulo não utilizado.
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

Código VBA - Marcar em lote todos os e-mails como lidos em todas as pastas do Outlook

  1. Em seguida, coloque o cursor na primeira sub-rotina.
  2. Em seguida, pressione o botão da tecla “F5” ou clique no ícone “Executar” na barra de ferramentas.
  3. Eventualmente, após a conclusão da macro, você pode voltar para a lista de pastas de e-mail.
  4. Lá, você verá que todos os e-mails não lidos foram marcados como lidos, conforme mostrado na captura de tela.Todos os e-mails foram lidos

Fuja da miserável perda de dados do Outlook

Os usuários podem ter aceitado o fato de que documentos do Word e pastas de trabalho do Excel podem ser facilmente corrompidos. Na verdade, semelhante a esses arquivos, o arquivo de dados do Outlook também está sujeito a danos. Portanto, se você está relutante em experimentar isso, deve tomar algumas medidas. Deve incluir precauções, como backups regulares e bloqueio de todos os malwares ou vírus, e algumas medidas de alívio, como saber como iniciar a ferramenta de reparo da caixa de entrada, ScanpstName e manter uma poderosa ferramenta de correção externa, como DataNumen Outlook Repair.

Introdução do autor:

Shirley Zhang é especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo consertar mdf e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.