Sådan registreres automatisk det samlede antal indgående e-mails hver dag i en Excel-fil

Denne artikel lærer dig, hvordan du automatisk tæller, hvor mange e-mails du har modtaget hver dag og skriver nummeret i en Excel-fil.

Mange brugere skal tælle det samlede antal e-mails, der modtages hver dag. Derudover er mange vant til at registrere det samlede antal i en Excel-fil for at gøre det lettere at kontrollere i fremtiden. I dette tilfælde kan du selvfølgelig vælge at tælle og optage manuelt hver dag. Det er dog lidt besværligt. Og du glemmer måske at gøre det nogle gange. Derfor skal du ønske en praktisk metode, som kan få Outlook til automatisk at gøre det. Som svar på dette krav lærer vi dig, hvordan du bruger VBA til at realisere det i det følgende.

Registrer automatisk det samlede antal indgående e-mails hver dag i en Excel-fil

Registrer automatisk det samlede antal indgående e-mails hver dag i en Excel-fil

  1. Start din Outlook-applikation lige fra starten.
  2. Tryk derefter på "Alt + F11" -tastgenveje i hovedvinduet i Outlook.
  3. Næste i popup-VBA-redigeringsvinduet skal du åbne “ThisOutlookSession” -projektet.
  4. Kopier og indsæt derefter følgende VBA-koder i dette projekt.
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

VBA-koder - Registrer automatisk det samlede antal indgående e-mails hver dag i en Excel-fil

  1. Dernæst skal du underskrive denne kode og ændre dine Outlook-makroindstillinger for at tillade signerede makroer.
  2. Derefter skal du oprette en tilbagevendende opgave på daglig basis.
  • Klik først på knappen "Ny opgave" i Opgaverude.
  • I popup-vinduet Ny opgave skal du klikke på knappen "Gentagelse".
  • Derefter skal du i den efterfølgende dialogboks vælge “Dagligt”, “Hver 1 dag (e)” og “Ingen slutdato” og endelig trykke på “OK”.Aktivér gentagelse af opgave
  • Senere skifte opgaveemne og påmindelse efter dine behov.Indstil påmindelse
  • Til sidst skal du klikke på knappen "Gem og luk".
  1. Fra nu af tæller Outlook hver gang denne opfordrings påmindelse alarmerer de e-mails, der er modtaget i går, og registrerer derefter nummeret i Excel-filen, som følgende skærmbillede:Excel-fil til antal e-mails

Undslippe fra permanent PST-datatab

Ingen er villige til at acceptere permanent PST-datatab. Outlook PST-fil er imidlertid udsat for korruption. Derfor skal du træffe tilstrækkelige forholdsregler, såsom at foretage en konsekvent og opdateret PST-data backup og holde en kraftig PST-genopretning værktøj i nærheden, som DataNumen Outlook Repair.

Forfatter Introduktion:

Shirley Zhang er ekspert i datagendannelse i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder sql reparation og Outlook-reparationssoftwareprodukter. For mere information besøg www.datanumen.com

Kommentarer er lukket.