Agar siz yuborilgan elektron pochta xabarlarini bir nechta papkalarda saqlasangiz va endi bu yuborilgan barcha xatlarni oylar bo'yicha hisoblashni istasangiz, ushbu maqolani o'qishingiz mumkin. Bu erda biz uni olishning juda tez usulini taqdim etamiz.
Oldingi maqola - "Outlook VBA orqali kiruvchi elektron pochta xabarlarini sana, oy yoki yil bo'yicha qanday tez hisoblash mumkin” elektron pochta xabarlarini oylar bo‘yicha hisoblash usuli bilan o‘rtoqlashdi. Biroq, u elektron pochta xabarlarini bitta papkada qayta ishlashga qodir. Agar siz bir nechta yoki hatto barcha pochta papkalarida elektron pochta xabarlarini hisoblashni istasangiz, boshqa vositalardan foydalanishingiz kerak. Shunday qilib, quyida biz sizga yana bir tezroq yo'lni ko'rsatamiz.
Yuborilgan xatlarni oy bo'yicha hisoblang
- Boshlash uchun Outlook VBA muharririga “Alt + F11” orqali kiring.
- Keyin, "MS Excel Object Lib" ga havolani yoqingrary" bo'yicha "Ob'ektni qanday qo'shish kerakrary VBA-da havola".
- Shundan so'ng, quyidagi VBA kodini loyiha yoki modulga qo'ying.
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
- Keyin kursorni birinchi pastki dasturga o'tkazing.
- Keyinchalik, ushbu makrosni ishga tushirish uchun "F5" tugmasini bosing.
- Bir vaqtning o'zida quyidagi rasmda ko'rsatilganidek, har oyda yuborilgan elektron pochta xabarlari sonini o'z ichiga olgan Excel fayli paydo bo'ladi.
Outlook korruptsiyasi oldida vahima qo'ymang
PST shikastlanishiga duch kelganingizda tashvishlanishingiz mumkin. Biroq, aslida, iloji boricha tezroq tinchlansangiz yaxshi bo'lardi. Barchamizga ma'lumki, vahima ojiz va hatto yanada xaotik va jiddiy muammolarga olib keladi. Zaxira nusxasini yangilaganligingiz haqida o'ylash va qanday qilishni o'ylab ko'rish kabi choralarni ko'rib chiqish uchun xotirjam bo'lishingiz kerak PST-ni ta'mirlash – kabi uchinchi tomon vositalariga murojaat qilish kerakmi DataNumen Outlook Repair yoki tegishli mutaxassislarga murojaat qiling.
Muallif kirish:
Shirli Chjan ma'lumotlarni qayta tiklash bo'yicha mutaxassis DataNumenMa'lumotlarni qayta tiklash texnologiyalari bo'yicha jahon yetakchisi bo'lgan , Inc ta'mirlash mdf va Outlook ta'mirlash dasturiy mahsulotlar. Qo'shimcha ma'lumot olish uchun tashrif buyuring www.datanumen.com

