Хэрэв та илгээсэн имэйлийг хэд хэдэн фолдерт хадгалдаг бол эдгээр бүх захидлыг сараар нь тоолохыг хүсч байвал та энэ нийтлэлийг уншиж болно. Энд бид үүнийг олж авах нэлээд хурдан аргыг танилцуулах болно.
Өмнөх нийтлэл - “Outlook VBA-ээр дамжуулан ирсэн имэйлийг огноо, сар, жилээр хэрхэн хурдан тоолох вэ"Имэйлийг сараар тоолох аргыг хуваалцав. Гэхдээ энэ нь имэйлийг нэг фолдерт боловсруулах боломжтой юм. Хэрэв та имэйлийг хэд хэдэн эсвэл бүр бүх шуудангийн хавтас дотор тоолохыг хүсвэл бусад хэрэгслийг ашиглах хэрэгтэй. Тиймээс, дараахь зүйлсээр бид танд илүү хурдан арга замыг илчлэх болно.
Илгээсэн имэйлийг сараар тоолох
- Эхлэхийн тулд Outlook VBA редактор руу “Alt + F11” -р холбогдоорой.
- Дараа нь “MS Excel Object Library "-г" дагууОбьектийг хэрхэн яаж нэмэх вэrary 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 эвдрэлтэй тулгарах үед та санаа зовох хандлагатай байж магадгүй юм. Гэсэн хэдий ч бодит байдал дээр та аль болох хурдан тайвширсан нь дээр. Бид бүгд мэднэ, үймээн самуун нь арчаагүй бөгөөд бүр замбараагүй, ноцтой асуудалд хүргэдэг. Нөөцөө шинэчилсэн эсэхээ бодох, яаж хийхээ бодох гэх мэт арга хэмжээг авч үзэхдээ тайван байх хэрэгтэй засварын газар - гэх мэт гуравдагч этгээдийн хэрэгсэлд хандах эсэх DataNumen Outlook Repair эсвэл холбогдох мэргэжилтнүүдтэй холбоо бариарай.
Зохиогчийн танилцуулга:
Ширли Жан бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. mdf-ийг засах програм хангамжийн бүтээгдэхүүнийг засах хэтийн төлөв. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com

