Егер сіз жіберілген хаттарды бірнеше қалтада сақтасаңыз және осы жіберілген хаттарды айлар бойынша санағыңыз келсе, сіз осы мақаланы оқи аласыз. Мұнда біз оны алудың жылдам тәсілін ұсынамыз.
Алдыңғы мақала - «Outlook VBA арқылы кіріс хаттарды күн, ай немесе жыл бойынша қалай жылдам санауға болады»Электрондық поштаны ай бойынша санаудың тәсілімен бөлісті. Алайда ол электрондық поштаны бір қалтада өңдей алады. Егер сіз электрондық поштаны бірнеше немесе тіпті барлық пошта қалталарында санағыңыз келсе, басқа құралдарды қолданған жөн. Осылайша, келесіде біз сізге тағы бір жылдам жолды ашамыз.
Жіберілген хаттарды ай бойынша санаңыз
- Бастау үшін Outlook VBA редакторына «Alt + F11» арқылы кіріңіз.
- Содан кейін «MS Excel Object Library «сәйкес»Нысанды қалай қосуға болады Library VBA сілтемесі«.
- Осыдан кейін жобаға немесе модульге келесі VBA кодын салыңыз.
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
- Содан кейін курсорды бірінші ішкі бағдарламаға жылжытыңыз.
- Осы макросты қосу үшін «F5» пернесін басыңыз.
- Бірден Excel файлы пайда болады, онда төмендегі суретте көрсетілгендей ай сайын жіберілген электрондық хаттардың саны бар.
Сыртқы көріністегі сыбайлас жемқорлыққа жол бермеңіз
Сіз PST зақымдалуымен кездескенде сізді алаңдатуы мүмкін. Шындығында, сіз мүмкіндігінше тезірек тынышталғаныңыз жөн. Бәрімізге белгілі, дүрбелең дәрменсіз, тіпті хаотикалық және күрделі мәселелерге алып келеді. Сіз өзіңіздің сақтық көшірмеңізді жаңарттыңыз ба немесе қалай жасау керектігін ойлау сияқты шараларды қарастыру үшін сабырлы болуыңыз керек жөндеу PST - сияқты үшінші тарап құралына жүгіну керек пе DataNumen Outlook Repair немесе тиісті мамандарға хабарласыңыз.
Автордың кіріспесі:
Ширли Чжан - деректерді қалпына келтіру бойынша сарапшы DataNumen, Соның ішінде деректерді қалпына келтіру технологиялары бойынша әлемдік көшбасшы болып табылатын Inc. mdf жөндеу және бағдарламалық жасақтаманы жөндеу бағдарламалары. Қосымша ақпарат алу үшін кіріңіз WWW.datanumen.com

