Como gravar automaticamente a contagem total de e-mails recebidos todos os dias em um arquivo do Excel

Compartilhe agora:

Este artigo ensinará como permitir que o Outlook conte automaticamente quantos e-mails você recebeu todos os dias e escreva o número em um arquivo do Excel.

Muitos usuários são obrigados a contar o número total de e-mails recebidos a cada dia. Além disso, para uma verificação mais conveniente no futuro, muitos estão acostumados a registrar a contagem total em um arquivo Excel. Nesse caso, é claro que você pode optar por contar e registrar manualmente todos os dias. No entanto, é um pouco problemático. E você pode esquecer de fazê-lo às vezes. Portanto, você deve desejar um método prático, que pode fazer o Outlook fazer isso automaticamente. Em resposta a esse requisito, ensinaremos a seguir como usar o VBA para realizá-lo.

Registre automaticamente a contagem total de e-mails recebidos todos os dias em um arquivo do Excel

Registre automaticamente a contagem total de e-mails recebidos todos os dias em um arquivo do Excel

  1. No início, inicie seu aplicativo Outlook.
  2. Em seguida, pressione os atalhos de tecla “Alt + F11” na janela principal do Outlook.
  3. Em seguida, na janela pop-up do editor VBA, abra o projeto “ThisOutlookSession”.
  4. Posteriormente, copie e cole os seguintes códigos VBA neste projeto.
Private Sub Application_Reminder(ByVal Item As Object)
    If Item.Class = olTask And Item.Subject = "Update Email Count" Then
       Call GetAllInboxFolders
    End If
End Sub

Private Sub GetAllInboxFolders()
    Dim objInboxFolder As Outlook.Folder
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim lEmailCount As Long
 
    lEmailCount = 0
    Set objInboxFolder = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
    Call UpdateEmailCount(objInboxFolder, lEmailCount)
 
    ‘Change the path to the Excel file
    strExcelFile = "E:\Email\Email Count.xlsx"
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
 
    nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
 
    'Add the values into the columns
    objExcelWorksheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorksheet.Range("B" & nNextEmptyRow) = Year(Date - 1) & "-" & Month(Date - 1) & "-" & Day(Date - 1)
    objExcelWorksheet.Range("C" & nNextEmptyRow) = lEmailCount
 
    'Fit the columns from A to C
    objExcelWorksheet.Columns("A:C").AutoFit
   
    'Save the changes and close the Excel file
    objExcelWorkbook.Close SaveChanges:=True
End Sub

Private Sub UpdateEmailCount(objFolder As Outlook.Folder, ByRef lCurEmailCount As Long)
    Dim objItems As Outlook.Items
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim strDay As String
    Dim strReceivedDate As String
    Dim lEmailCount As Long
    Dim objSubFolder As Outlook.Folder
 
    Set objItems = objFolder.Items
 
    objItems.SetColumns ("ReceivedTime")
    strDay = Year(Date - 1) & "-" & Month(Date - 1) & "-" & Day(Date - 1)
 
    For Each objItem In objItems
        If objItem.Class = olMail Then
           Set objMail = objItem
           strReceivedDate = Year(objMail.ReceivedTime) & "-" & Month(objMail.ReceivedTime) & "-" & Day(objMail.ReceivedTime)
           If strReceivedDate = strDay Then
              lCurEmailCount = lCurEmailCount + 1
           End If
        End If
    Next
 
    'Process the subfolders in the folder recursively
    If (objFolder.Folders.Count > 0) Then
       For Each objSubFolder In objFolder.Folders
           Call UpdateEmailCount(objSubFolder, lCurEmailCount)
       Next
    End If
End Sub

Códigos VBA - Registre automaticamente a contagem total de e-mails recebidos todos os dias em um arquivo do Excel

  1. Em seguida, assine este código e altere as configurações de macro do Outlook para permitir macros assinadas.
  2. Depois disso, você precisa criar uma tarefa recorrente diariamente.
  • Em primeiro lugar, clique no botão “Nova tarefa” no painel Tarefas.
  • Na janela pop-up Nova tarefa, clique no botão “Recorrência”.
  • Em seguida, na caixa de diálogo seguinte, selecione “Diário”, “A cada 1 dia(s)” e “Sem data final” e, por último, clique em “OK”.Habilitar Recorrência de Tarefa
  • Posteriormente, altere o assunto da tarefa e o lembrete de acordo com suas necessidades.Definir lembrete
  • Por fim, clique no botão “Salvar e fechar”.
  1. A partir de agora, sempre que o lembrete desta tarefa for alertado, o Outlook contará automaticamente os e-mails recebidos ontem e registrará o número no arquivo do Excel, conforme a captura de tela a seguir:Arquivo do Excel para contagem de e-mail

Fuja da perda permanente de dados PST

Ninguém está disposto a aceitar a perda permanente de dados PST. No entanto, o arquivo PST do Outlook é propenso a corrupção. Portanto, você deve tomar precauções suficientes, como fazer um backup de dados PST consistente e atualizado e manter um poderoso Recuperação PST ferramenta nas proximidades, 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 reparo do sql e produtos de software de reparo do Outlook. Para mais informações visite www.datanumen.com

Compartilhe agora:

Comentários estão fechados.