วิธีนับอีเมลที่ส่งอย่างรวดเร็วตามเดือนใน Outlook ของคุณ

แบ่งปันเลย:

หากคุณจัดเก็บอีเมลที่ส่งไว้ในหลายโฟลเดอร์และตอนนี้ต้องการนับอีเมลที่ส่งทั้งหมดตามเดือนคุณสามารถอ่านบทความนี้ได้ ที่นี่เราจะแนะนำวิธีที่รวดเร็วมากในการรับมัน

บทความก่อนหน้านี้ -“วิธีนับอีเมลขาเข้าอย่างรวดเร็วตามวันเดือนหรือปีผ่าน Outlook VBA” ได้แชร์วิธีการนับอีเมลตามเดือน อย่างไรก็ตามสามารถประมวลผลอีเมลในโฟลเดอร์เดียว หากคุณต้องการนับอีเมลในหลาย ๆ โฟลเดอร์หรือแม้แต่โฟลเดอร์อีเมลทั้งหมดคุณควรใช้วิธีการอื่น ดังนั้นในต่อไปนี้เราจะนำเสนออีกวิธีที่เร็วกว่าให้คุณ

นับอีเมลที่ส่งตามเดือน

  1. เริ่มต้นด้วยการเข้าถึงโปรแกรมแก้ไข Outlook VBA ผ่านทาง“ Alt + F11”
  2. จากนั้นเปิดใช้งานการอ้างอิงถึง“ MS Excel Object Library” ตาม“วิธีเพิ่ม Object Library การอ้างอิงใน VBA"
  3. หลังจากนั้นให้ใส่รหัส 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

รหัส VBA - นับอีเมลที่ส่งตามเดือน

  1. จากนั้นย้ายเคอร์เซอร์ไปที่รูทีนย่อยแรก
  2. จากนั้นกด“ F5” เพื่อเรียกใช้มาโครนี้
  3. ในครั้งเดียวไฟล์ Excel จะปรากฏขึ้นซึ่งมีจำนวนอีเมลที่ส่งในทุกๆเดือนดังแสดงในรูปด้านล่างนับใน Excel

อย่าตื่นตระหนกเมื่อเผชิญกับความเสียหายของ Outlook

คุณอาจกังวลเมื่อพบความเสียหาย PST แต่ในความเป็นจริงคุณควรสงบสติอารมณ์ให้เร็วที่สุด อย่างที่เราทราบกันดีว่าความตื่นตระหนกนั้นทำอะไรไม่ถูกและยังนำไปสู่ปัญหาที่วุ่นวายและร้ายแรงยิ่งขึ้น คุณควรใจเย็น ๆ เพื่อพิจารณามาตรการต่างๆเช่นพิจารณาว่าคุณได้อัปเดตข้อมูลสำรองหรือไม่และพิจารณาวิธีการ ซ่อม PST - ไม่ว่าจะใช้เครื่องมือของบุคคลที่สามเช่น DataNumen Outlook Repair หรือติดต่อผู้เชี่ยวชาญที่เกี่ยวข้อง

บทนำผู้เขียน:

Shirley Zhang เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อม mdf และผลิตภัณฑ์ซอฟต์แวร์ซ่อมแซมแนวโน้ม ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.

แบ่งปันเลย:

ความเห็นถูกปิด