Sådan tæller du hurtigt de sendte e-mails efter måned i din Outlook

Hvis du gemmer sendte e-mails i flere mapper og nu gerne vil tælle alle disse sendte mails pr. Måned, kan du læse denne artikel. Her introducerer vi en betydeligt hurtig måde at få det på.

Den forrige artikel - “Hvordan man hurtigt tæller indgående e-mails efter dato, måned eller år via Outlook VBA”Har delt en måde at tælle e-mails på måned. Det er dog i stand til at behandle e-mails i en mappe. Hvis du vil tælle e-mails i flere eller endda alle mailmapperne, skal du bruge de andre midler. Således vil vi i det følgende udsætte dig for en anden meget hurtigere måde.

Tæl de sendte e-mails efter måned

  1. Til at begynde med skal du få adgang til Outlook VBA-editor via “Alt + F11”.
  2. Aktiver derefter henvisning til “MS Excel Object Library ”ifølge“Sådan tilføjes et objekt Library Reference i VBA".
  3. Derefter skal du sætte følgende VBA-kode i et projekt eller modul.
Dim objDictionary As Object

Sub CountSentMailsByMonth()
    Dim objOutlookFile As Outlook.Folder
    Dim objFolder As Outlook.Folder
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim varMonths As Variant
    Dim varItemCounts As Variant
    Dim nLastRow As Integer
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
    Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
 
    'Get the default Outlook data file
    Set objOutlookFile = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Parent
 
    For Each objFolder In objOutlookFile.Folders
        If objFolder.DefaultItemType = olMailItem Then
           Call ProcessFolders(objFolder)
        End If
    Next

    Set objExcelApp = CreateObject("Excel.Application")
    objExcelApp.Visible = True
    Set objExcelWorkbook = objExcelApp.Workbooks.Add
    Set objExcelWorksheet = objExcelWorkbook.Sheets(1)
 
    With objExcelWorksheet
        .Cells(1, 1) = "Month"
        .Cells(1, 2) = "Count"
    End With
 
    varMonths = objDictionary.Keys
    varItemCounts = objDictionary.Items
 
    For i = LBound(varMonths) To UBound(varMonths)
        nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
        With objExcelWorksheet
            .Cells(nLastRow, 1) = varMonths(i)
            .Cells(nLastRow, 2) = varItemCounts(i)
        End With
    Next
 
    objExcelWorksheet.Columns("A:B").AutoFit
End Sub

Sub ProcessFolders(ByVal objCurFolder As Outlook.Folder)
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim strMonth As String
 
    For i = objCurFolder.Items.Count To 1 Step -1
        If objCurFolder.Items(i).Class = olMail Then
           Set objMail = objCurFolder.Items(i)
           'Change to your own email address
           If objMail.SenderEmailAddress = "you@datanumen.com" Then
              strMonth = Format(Year(objMail.SentOn) & "-" & Month(objMail.SentOn), "YYYY/MM")
 
              If objDictionary.Exists(strMonth) Then
                 objDictionary(strMonth) = objDictionary(strMonth) + 1
              Else
                 objDictionary.Add strMonth, 1
              End If
           End If
       End If
    Next
End Sub

VBA-kode - Tæl de sendte e-mails efter måned

  1. Flyt derefter markøren ind i den første underrutine.
  2. Tryk derefter på “F5” for at udløse denne makro.
  3. Straks vises en Excel-fil, der indeholder antallet af sendte e-mails i hver måned, som vist i nedenstående figur.Tæller i Excel

Gå ikke i panik over for korruption i Outlook

Du kan have tendens til at være bekymret, når du støder på PST-skader. Alligevel skal du i virkeligheden roligere ned så hurtigt som muligt. Som vi alle ved, er panik hjælpeløs og fører endda til mere kaotiske og alvorlige problemer. Du skal være rolig for at overveje foranstaltninger, f.eks. At overveje, om du har opdateret sikkerhedskopiering, og overveje, hvordan du gør det reparation PST - om man skal ty til tredjepartsværktøj som DataNumen Outlook Repair eller kontakt relevante fagfolk.

Forfatter Introduktion:

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

Kommentarer er lukket.