Ja nosūtītos e-pastus glabājat vairākās mapēs un tagad vēlaties saskaitīt visus šos nosūtītos vēstules pa mēnešiem, varat izlasīt šo rakstu. Šeit mēs ieviesīsim ievērojami ātru veidu, kā to iegūt.
Iepriekšējais raksts - “Kā ātri saskaitīt ienākošos e-pastus pēc datuma, mēneša vai gada, izmantojot Outlook VBA”Ir kopīgojis veidu, kā saskaitīt e-pastus pēc mēneša. Tomēr tas spēj apstrādāt e-pastus vienā mapē. Ja vēlaties saskaitīt e-pastus vairākās vai pat visās pasta mapēs, jums jāizmanto citi līdzekļi. Tādējādi turpmāk mēs jums atklāsim vēl vienu daudz ātrāku veidu.
Skaitiet nosūtītos e-pastus pa mēnešiem
- Vispirms piekļūstiet Outlook VBA redaktoram, izmantojot “Alt + F11”.
- Pēc tam iespējojiet atsauci uz “MS Excel Object Library ”saskaņā ar“Kā pievienot objektu Library Atsauce VBA".
- Pēc tam projektā vai modulī ievietojiet šādu VBA kodu.
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
- Pēc tam pārvietojiet kursoru pirmajā apakšprogrammā.
- Pēc tam nospiediet taustiņu “F5”, lai aktivizētu šo makro.
- Uzreiz parādīsies Excel fails, kurā katru mēnesi ir nosūtīto e-pasta ziņojumu skaits, kā parādīts zemāk redzamajā attēlā.
Vai nav panikas, saskaroties ar Outlook korupciju
Jums var būt tendence uztraukties, sastopoties ar PST bojājumiem. Tomēr patiesībā labāk nomierināties pēc iespējas ātrāk. Kā mēs visi zinām, panika ir bezpalīdzīga un pat rada haotiskākas un nopietnākas problēmas. Jums vajadzētu būt mierīgam, lai apsvērtu pasākumus, piemēram, pārdomājot, vai esat atjauninājis dublējumu, un apsveriet, kā to izdarīt remonts PST - vai izmantot trešās puses rīku, piemēram, DataNumen Outlook Repair vai sazinieties ar attiecīgajiem profesionāļiem.
Autora ievads:
Šērlija Džana ir datu atkopšanas eksperte DataNumen, Inc., kas ir pasaules līderis datu atkopšanas tehnoloģiju, tostarp remonta mdf un perspektīvas remonta programmatūras produktus. Lai iegūtu vairāk informācijas, apmeklējiet vietni www.datanumen. Ar

