Comment enregistrer automatiquement le nombre total d'e-mails entrants chaque jour dans un fichier Excel

Partage maintenant:

Cet article vous apprendra comment laisser Outlook compter automatiquement le nombre d'e-mails que vous recevez chaque jour et écrire le nombre dans un fichier Excel.

De nombreux utilisateurs sont tenus de compter le nombre total d'e-mails reçus chaque jour. De plus, pour une vérification plus pratique à l'avenir, beaucoup ont l'habitude d'enregistrer le nombre total dans un fichier Excel. Dans ce cas, vous pouvez bien sûr choisir de compter et d'enregistrer manuellement chaque jour. Cependant, c'est un peu gênant. Et vous pouvez parfois oublier de le faire. Par conséquent, vous devez désirer une méthode pratique, qui peut faire en sorte qu'Outlook le fasse automatiquement. En réponse à cette exigence, nous vous apprendrons comment utiliser VBA pour le réaliser dans les suivants.

Enregistrer automatiquement le nombre total d'e-mails entrants chaque jour dans un fichier Excel

Enregistrer automatiquement le nombre total d'e-mails entrants chaque jour dans un fichier Excel

  1. Au tout début, lancez votre application Outlook.
  2. Appuyez ensuite sur les raccourcis clavier "Alt + F11" dans la fenêtre principale d'Outlook.
  3. Ensuite, dans la fenêtre contextuelle de l'éditeur VBA, ouvrez le projet "ThisOutlookSession".
  4. Ensuite, copiez et collez les codes VBA suivants dans ce projet.
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

Codes VBA - Enregistrer automatiquement le nombre total d'e-mails entrants chaque jour dans un fichier Excel

  1. Ensuite, signez ce code et modifiez vos paramètres de macro Outlook pour autoriser les macros signées.
  2. Après cela, vous devez créer une tâche récurrente quotidiennement.
  • Tout d'abord, cliquez sur le bouton "Nouvelle tâche" dans le volet Tâches.
  • Dans la fenêtre contextuelle Nouvelle tâche, cliquez sur le bouton "Récurrence".
  • Ensuite, dans la boîte de dialogue suivante, sélectionnez "Tous les jours", "Tous les 1 jour(s)" et "Aucune date de fin" et enfin appuyez sur "OK".Activer la récurrence des tâches
  • Modifiez ultérieurement le sujet de la tâche et le rappel selon vos besoins.Définir un rappel
  • Enfin, cliquez sur le bouton "Enregistrer et fermer".
  1. À partir de maintenant, à chaque alerte de rappel de cette tâche, Outlook comptera automatiquement les e-mails reçus hier, puis enregistrera le nombre dans le fichier Excel, comme dans la capture d'écran suivante :Fichier Excel pour le nombre d'e-mails

Échapper à la perte permanente de données PST

Personne n'est prêt à accepter la perte permanente de données PST. Cependant, le fichier Outlook PST est sujet à la corruption. Par conséquent, vous devez prendre des précautions suffisantes, comme effectuer une sauvegarde des données PST cohérente et à jour et conserver un puissant Récupération PST outil à proximité, comme DataNumen Outlook Repair.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris réparation sql et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.