如何通过 Outlook VBA 按日期、月份或年份快速计算收到的电子邮件

立即分享:

如果您想统计特定日期或特定月份或年份的传入电子邮件数量,您可以使用本文介绍的快速方法。 它将教您如何使用 VBA 快速获得它。

在计算特定日期或时间段内收到的电子邮件数量时,许多人习惯于使用 Outlook 搜索文件夹,这使我们可以将特定日期或日期范围内收到的所有电子邮件收集在一个搜索文件夹中。 然后我们可以使用邮件文件夹的“显示项目总数”功能来获取它。 但是,毫无疑问,这种方法是相当麻烦的。 因此,在这里我们将教给您另一个技巧,它可以利用Outlook VBA 来帮助您获得总数。 现在继续阅读以了解详细的步骤和代码。

按日期月份或年份计算收到的电子邮件

按日期计算收到的电子邮件

  1. 首先,请正确启动 Outlook 程序。
  2. 然后您可以切换到“开发人员”选项卡并单击“Visual Basic”按钮。
  3. 接下来在弹出的Outlook VBA编辑器窗口中,您可以通过“插入”>“模块”打开一个新模块。
  4. 随后,将以下 VBA 代码复制到新模块中。
'The following codes are working to count by day
Sub CountReceivedEmailsbyDay()
    Dim objItems As Outlook.Items
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim strDay As String
    Dim dReceivedTime As Date
    Dim strReceivedDate As String
    Dim i, n As Long
    Dim strMsg As String
    Dim nPrompt As Integer
 
    Set objItems = Outlook.Application.ActiveExplorer.CurrentFolder.Items
 
    objItems.SetColumns ("ReceivedTime")
    strDay = InputBox("Enter the specific day.(Format: yyyy-mm-dd)", "Specify Date")
 
    If strDay <> "" Then
       n = 0
       For i = 1 To objItems.Count
           If objItems.Item(i).Class = olMail Then
              Set objMail = objItems.Item(i)
              dReceivedTime = objMail.ReceivedTime
              strReceivedDate = Year(dReceivedTime) & "-" & Month(dReceivedTime) & "-" & Day(dReceivedTime)
              If strReceivedDate = strDay Then
                 n = n + 1
              End If
           End If
       Next i
 
       strMsg = "You have received " & n & " emails on " & strDay & "."
       nPrompt = MsgBox(strMsg, vbExclamation, "Count Received Emails")
    Else
       nPrompt = MsgBox("Please input the specific day!", vbExclamation)
    End If
End Sub

VBA 代码 - 按日期计算收到的电子邮件

请注意: 上面的代码用于按日期计算收到的电子邮件。

  1. 之后,您可以像往常一样将新宏添加到快速访问工具栏。
  2. 最后,你可以试试看。
  • 首先,选择收件箱文件夹。
  • 然后单击快速访问工具栏中的按钮。运行宏
  • 接下来你需要以“yyyy-mm-dd”的格式输入一个特定的日期。指定日期
  • 最后,您将收到总计数的提示,如下图所示:按日期计算收到的电子邮件

按月或年计算收到的电子邮件

由于上面的代码是指定按日统计的,如果要按月或年统计,需要对代码做一些改动。

  1. 首先,将所有“strDay”更改为 月 or 年份.
  2. 其次,将“strDay = InputBox(“输入具体日期。(格式:yyyy-mm-dd)”,“指定日期”)”行替换为:
  • strMonth = InputBox("请输入具体月份。(格式:yyyy-mm)", "Specify Month")
  • strYear = InputBox("请输入具体年份。(格式:yyyy)", "Specify Year")
  1. 第三,将“strReceivedDate = Year(dReceivedTime) & “-” & Month(dReceivedTime) & “-” & Day(dReceivedTime)” 行更改为:
  • strReceivedDate = 年(dReceivedTime) & “-” & 月(dReceivedTime) [一个月]
  • strReceivedDate = 年(dReceivedTime) [年]。

Outlook 崩溃后会发生什么

许多用户都遇到过 Outlook 崩溃的情况。最好的情况是,重启 Outlook 后,所有数据都会恢复,也就是说不会再出现任何问题。然而,最糟糕的情况是,您可能会遇到严重的问题。 PST腐败. 到那时,假设您没有当前的数据备份,那么您最后的选择无疑是一个出色的修复工具,例如 DataNumen Outlook Repair.

作者简介:

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

立即分享:

评论被关闭。