Slik teller du de sendte e-postene raskt etter måned i Outlook

Hvis du lagrer sendte e-poster i flere mapper og nå ønsker å telle alle disse sendte e-postene etter måned, kan du lese denne artikkelen. Her vil vi introdusere en betydelig rask måte å få det på.

Den forrige artikkelen – "Slik teller du raskt innkommende e-poster etter dato, måned eller år via Outlook VBA” har delt en måte å telle e-poster etter måned. Den er imidlertid i stand til å behandle e-postene i én mappe. Hvis du vil telle e-poster i flere eller til og med alle e-postmappene, bør du bruke den andre måten. Derfor vil vi i det følgende avsløre en annen mye raskere måte for deg.

Tell de sendte e-postene etter måned

  1. Til å begynne med, få tilgang til Outlook VBA-redigering via "Alt + F11".
  2. Aktiver deretter referanse til «MS Excel-objektbibliotek» i henhold til «Slik legger du til en objektbibliotekreferanse i VBA".
  3. Etter det, legg følgende VBA-kode inn i et prosjekt eller en 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 - Tell de sendte e-postene etter måned

  1. Deretter flytter du markøren til den første subrutinen.
  2. Trykk deretter "F5" for å utløse denne makroen.
  3. Med en gang vil en Excel-fil dukke opp, som inneholder antall sendte e-poster i hver måned, som vist i figuren nedenfor.Teller i Excel

Ikke få panikk i møte med Outlook-korrupsjon

Du kan ha en tendens til å være bekymret når du møter PST-skader. Men i virkeligheten bør du roe deg ned så snart som mulig. Som vi alle vet, er panikk hjelpeløs og fører til og med til mer kaotiske og alvorlige problemer. Du bør forholde deg rolig til å vurdere tiltak, som å tenke over om du har oppdatert backup og vurdere hvordan reparere PST – om man skal ty til tredjepartsverktøy som DataNumen Outlook Repair eller kontakt relevante fagpersoner.

Forfatterintroduksjon:

Shirley Zhang er en datagjenopprettingsekspert innen DataNumen, Inc., som er verdensledende innen datagjenopprettingsteknologier, inkludert reparere mdf og Outlook-reparasjonsprodukter. For mer informasjon besøk www.datanumen. Med

Kommentarer er stengt.