在 Outlook 中按发件人快速统计电子邮件的 2 种方法

立即分享:

如果您想按发件人统计邮件,可以参考这篇文章。 在这里,我们将向您展示2个快速方法。

这样才能知道most 活跃的发件人,您可能想按发件人计算电子邮件数量。 虽然Outlook没有直接提供这个功能,但是你还是可以寻求一些解决方法,比如下面的方法一。如果你觉得方法一太繁琐,可以选择方法二。它更有效它使用 VBA 快速计算发件人的电子邮件并将计数导出到 Excel。 现在详细阅读这两种方式。 这里我们以收件箱中的邮件为例。

方法 1:按“发件人”字段对项目进行分组后获取计数

  1. 首先,启动 Outlook 应用程序。
  2. 然后,打开收件箱文件夹。
  3. 接下来,切换到“查看”选项卡。
  4. 随后,在“安排”组中选择“来自”。按“发件人”排列收件箱项目
  5. 一次,所有收件箱项目都根据不同的发件人分成不同的组。
  6. 现在,要计算来自特定发件人的项目,您可以选择相关组中的所有项目,然后按“Enter”键。 在弹出警告中,您可以看到计数。获取警告中的项目计数

这意味着很容易,但项目计数实际上包括其他类型的项目,如会议邀请、任务请求和收据,而不仅仅是电子邮件计数。 因此,如果您只想对电子邮件进行计数,则可以改用以下方式。

方法 2:使用 Outlook VBA 按发件人计算电子邮件

  1. 对于作为tart、在 Outlook 中按“Alt + F11”键按钮。
  2. 然后,启用“MS Excel Object Library” 根据 “如何添加对象库rary VBA 中的引用“。
  3. 接下来,将下面的代码复制到一个未使用的模块中。
Sub CountInboxEmailsbySender()
    Dim objDictionary As Object
    Dim objInbox As Outlook.Folder
    Dim i As Long
    Dim objMail As Outlook.MailItem
    Dim strSender As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim varSenders As Variant
    Dim varItemCounts As Variant
    Dim nLastRow As Integer
 
    Set objDictionary = CreateObject("Scripting.Dictionary")
    Set objInbox = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
 
    For i = objInbox.Items.Count To 1 Step -1
        If objInbox.Items(i).Class = olMail Then
           Set objMail = objInbox.Items(i)
           strSender = objMail.SenderEmailAddress
 
           If objDictionary.Exists(strSender) Then
              objDictionary.Item(strSender) = objDictionary.Item(strSender) + 1
           Else
              objDictionary.Add strSender, 1
           End If
        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) = "Sender"
         .Cells(1, 2) = "Count"
    End With
 
    varSenders = objDictionary.Keys
    varItemCounts = objDictionary.Items
 
    For i = LBound(varSenders) To UBound(varSenders)
        nLastRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
        With objExcelWorksheet
             .Cells(nLastRow, 1) = varSenders(i)
             .Cells(nLastRow, 2) = varItemCounts(i)
        End With
    Next
 
    objExcelWorksheet.Columns("A:B").AutoFit
End Sub

VBA 代码 - 按发件人计算收件箱电子邮件

  1. 之后,按“F5”键按钮。
  2. 宏完成后,将显示一个新的 Excel 文件。
  3. 如您所见,它包含来自不同发件人的收件箱电子邮件计数。Excel 中的电子邮件计数

处理令人沮丧的前景问题

也许您在 Outlook 中遇到过很多问题。 为了有效地解决这些问题,您可能渴望一种通用而强大的方法。 然而,事实上并没有这样的方法。 你能做的就是注意自己在Outlook中的操作,定期做好备份。 当然,如果可能的话,我们建议您最好随身携带一个有经验的修复工具,比如 DataNumen Outlook Repair. 它可以修复各种 PST 问题并修复 损坏的 PST 轻而易举地归档。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 恢复 Sql Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。