Cách tự động ghi lại tổng số email đến mỗi ngày trong tệp Excel

Chia sẻ ngay bây giờ:

Bài viết này sẽ hướng dẫn bạn cách để Outlook tự động đếm xem bạn nhận được bao nhiêu email mỗi ngày và viết số đó vào tệp Excel.

Nhiều người dùng được yêu cầu đếm tổng số email nhận được mỗi ngày. Ngoài ra, để kiểm tra thuận tiện hơn trong tương lai, nhiều người đã quen với việc ghi lại tổng số vào một tệp Excel. Trong trường hợp này, tất nhiên bạn có thể chọn đếm và ghi thủ công mỗi ngày. Tuy nhiên, nó là một chút rắc rối. Và bạn có thể quên làm điều đó đôi khi. Do đó, bạn phải mong muốn một phương pháp tiện dụng có thể khiến Outlook tự động làm việc đó. Để đáp ứng yêu cầu này, chúng tôi sẽ hướng dẫn bạn cách sử dụng VBA để thực hiện nó trong phần sau.

Tự động ghi lại tổng số email đến mỗi ngày trong một tệp Excel

Tự động ghi lại tổng số email đến mỗi ngày trong một tệp Excel

  1. Ngay từ đầu, hãy khởi chạy ứng dụng Outlook của bạn.
  2. Sau đó nhấn phím tắt “Alt + F11” trong cửa sổ chính của Outlook.
  3. Tiếp theo trong cửa sổ trình soạn thảo VBA bật lên, hãy mở dự án “ThisOutlookSession”.
  4. Sau đó, sao chép và dán các mã VBA sau vào dự án này.
Private Sub Application_Reminder(ByVal Item As Object)
    If Item.Class = olTask And Item.Subject = "Update Email Count" Then
       Call GetAllInboxFolders
    End If
End Sub

Private Sub GetAllInboxFolders()
    Dim objInboxFolder As Outlook.Folder
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim lEmailCount As Long
 
    lEmailCount = 0
    Set objInboxFolder = Outlook.Application.Session.GetDefaultFolder(olFolderInbox)
    Call UpdateEmailCount(objInboxFolder, lEmailCount)
 
    ‘Change the path to the Excel file
    strExcelFile = "E:\Email\Email Count.xlsx"
    Set objExcelApp = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
 
    nNextEmptyRow = objExcelWorksheet.Range("A" & objExcelWorksheet.Rows.Count).End(xlUp).Row + 1
 
    'Add the values into the columns
    objExcelWorksheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorksheet.Range("B" & nNextEmptyRow) = Year(Date - 1) & "-" & Month(Date - 1) & "-" & Day(Date - 1)
    objExcelWorksheet.Range("C" & nNextEmptyRow) = lEmailCount
 
    'Fit the columns from A to C
    objExcelWorksheet.Columns("A:C").AutoFit
   
    'Save the changes and close the Excel file
    objExcelWorkbook.Close SaveChanges:=True
End Sub

Private Sub UpdateEmailCount(objFolder As Outlook.Folder, ByRef lCurEmailCount As Long)
    Dim objItems As Outlook.Items
    Dim objItem As Object
    Dim objMail As Outlook.MailItem
    Dim strDay As String
    Dim strReceivedDate As String
    Dim lEmailCount As Long
    Dim objSubFolder As Outlook.Folder
 
    Set objItems = objFolder.Items
 
    objItems.SetColumns ("ReceivedTime")
    strDay = Year(Date - 1) & "-" & Month(Date - 1) & "-" & Day(Date - 1)
 
    For Each objItem In objItems
        If objItem.Class = olMail Then
           Set objMail = objItem
           strReceivedDate = Year(objMail.ReceivedTime) & "-" & Month(objMail.ReceivedTime) & "-" & Day(objMail.ReceivedTime)
           If strReceivedDate = strDay Then
              lCurEmailCount = lCurEmailCount + 1
           End If
        End If
    Next
 
    'Process the subfolders in the folder recursively
    If (objFolder.Folders.Count > 0) Then
       For Each objSubFolder In objFolder.Folders
           Call UpdateEmailCount(objSubFolder, lCurEmailCount)
       Next
    End If
End Sub

Mã VBA - Tự động ghi lại Tổng số email đến mỗi ngày trong một tệp Excel

  1. Tiếp theo, hãy ký mã này và thay đổi cài đặt macro Outlook của bạn để cho phép macro đã ký.
  2. Sau đó, bạn cần tạo một nhiệm vụ định kỳ hàng ngày.
  • Đầu tiên, nhấp vào nút “Tác vụ mới” trong ngăn Tác vụ.
  • Trong cửa sổ Tác vụ mới bật lên, nhấp vào nút "Lặp lại".
  • Sau đó, trong hộp thoại tiếp theo, hãy chọn “Hàng ngày”, “Mỗi 1 ngày” và “Không có ngày kết thúc” và cuối cùng nhấn “OK”.Kích hoạt nhiệm vụ lặp lại
  • Sau đó thay đổi chủ đề nhiệm vụ và lời nhắc theo nhu cầu của bạn.Thiết lập nhắc nhở
  • Cuối cùng nhấp vào nút “Save & Close”.
  1. Từ giờ trở đi, mỗi khi có thông báo nhắc nhở của nhiệm vụ này, Outlook sẽ tự động đếm các email đã nhận ngày hôm qua rồi ghi số vào tệp Excel, như ảnh chụp màn hình sau:Tệp Excel để đếm email

Thoát khỏi mất dữ liệu PST vĩnh viễn

Không ai sẵn sàng chấp nhận mất dữ liệu PST vĩnh viễn. Tuy nhiên, tệp Outlook PST dễ bị hỏng. Do đó, bạn nên thực hiện đầy đủ các biện pháp phòng ngừa, chẳng hạn như sao lưu dữ liệu PST nhất quán và cập nhật và giữ một phục hồi PST công cụ trong vùng lân cận, như DataNumen Outlook Repair.

Giới thiệu tác giả:

Shirley Zhang là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm sửa lỗi sql và các sản phẩm phần mềm sửa chữa triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm

Chia sẻ ngay bây giờ:

Được đóng lại.