Ak ukladáte odoslané e-maily do niekoľkých priečinkov a chcete teraz všetky tieto odoslané e-maily počítať podľa mesiacov, môžete si prečítať tento článok. Tu predstavíme podstatne rýchly spôsob, ako to dosiahnuť.
Predchádzajúci článok - „Ako rýchlo spočítať prichádzajúce e-maily podľa dátumu, mesiaca alebo roka prostredníctvom Outlooku VBA”Zdieľa spôsob počítania e-mailov podľa mesiacov. Je však schopný spracovať e-maily v jednom priečinku. Ak chcete počítať e-maily vo viacerých alebo dokonca vo všetkých priečinkoch pošty, mali by ste použiť iné prostriedky. V nasledujúcich častiach vám teda odhalíme ďalšiu oveľa rýchlejšiu cestu.
Spočítajte si odoslané e-maily podľa mesiaca
- Začnite tým, že sa do editora Outlook VBA dostanete cez „Alt + F11“.
- Potom povoľte odkaz na „MS Excel Object Library “podľa„Ako pridať objekt Library Odkaz vo VBA".
- Potom vložte nasledujúci kód VBA do projektu alebo modulu.
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
- Ďalej presuňte kurzor na prvý podprogram.
- Následne stlačte „F5“, aby ste spustili toto makro.
- Hneď sa zobrazí súbor Excel, ktorý obsahuje počty odoslaných e-mailov za každý mesiac, ako je to znázornené na obrázku nižšie.
Nerobte paniku tvárou v tvár korupcii aplikácie Outlook
Pri narušení PST môžete mať obavy. V skutočnosti by ste sa však mali čo najskôr upokojiť. Ako všetci vieme, panika je bezmocná a vedie dokonca k chaotickejším a vážnejším problémom. Mali by ste byť v pokoji, aby ste zvážili opatrenia, napríklad premýšľali, či ste aktualizovali zálohu, a zvážili, ako na to opraviť PST Či sa uchýliť k nástroju tretej strany ako DataNumen Outlook Repair alebo kontaktujte príslušných odborníkov.
Úvod autora:
Shirley Zhang je expertkou na obnovu dát v DataNumen, Inc., ktorá je svetovým lídrom v oblasti technológií obnovy dát, vrátane opraviť mdf a výhľadové softvérové produkty na opravu. Pre viac informácií navštívte www.datanumen. S

