Jika Anda menyimpan email terkirim dalam beberapa folder dan sekarang ingin menghitung semua email terkirim ini berdasarkan bulan, Anda dapat membaca artikel ini. Di sini kami akan memperkenalkan cara yang sangat cepat untuk mendapatkannya.
Artikel sebelumnya - “Cara Cepat Menghitung Email Masuk berdasarkan Tanggal, Bulan atau Tahun melalui Outlook VBA”Telah membagikan cara menghitung email berdasarkan bulan. Namun, ia dapat memproses email dalam satu folder. Jika Anda ingin menghitung email di beberapa atau bahkan semua folder surat, Anda harus menggunakan cara lain. Jadi, berikut ini, kami akan memaparkan cara lain yang lebih cepat kepada Anda.
Hitung Email Terkirim berdasarkan Bulan
- Untuk memulainya, akses editor Outlook VBA melalui "Alt + F11".
- Kemudian, aktifkan referensi ke "MS Excel Object Library "menurut"Cara Menambahkan Object Library Referensi di VBA".
- Setelah itu, masukkan kode VBA berikut ke dalam sebuah proyek atau modul.
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
- Selanjutnya, pindahkan kursor ke subrutin pertama.
- Selanjutnya, tekan "F5" untuk memicu makro ini.
- File Excel akan segera muncul, yang berisi jumlah email terkirim setiap bulan, seperti yang ditunjukkan pada gambar di bawah ini.
Jangan Panik Menghadapi Korupsi Outlook
Anda mungkin cenderung khawatir saat menghadapi kerusakan PST. Namun, pada kenyataannya, sebaiknya Anda menenangkan diri secepat mungkin. Seperti yang kita semua tahu, panik tidak berdaya dan bahkan mengarah pada masalah yang lebih kacau dan serius. Anda harus tetap tenang untuk mempertimbangkan tindakan, seperti memikirkan apakah Anda telah memperbarui cadangan dan mempertimbangkan caranya memperbaiki PST - apakah akan menggunakan alat pihak ketiga seperti DataNumen Outlook Repair atau hubungi profesional yang relevan.
Pengantar Penulis:
Shirley Zhang adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk perbaiki mdf dan produk perangkat lunak perbaikan pandangan. Untuk informasi lebih lanjut kunjungi www.datanumen.com

