Cách tự động xuất thông tin email đến sang tệp Excel bằng Outlook VBA

Chia sẻ ngay bây giờ:

Nhiều người dùng hy vọng rằng Outlook có thể tự động xuất thông tin chính của email đến sang tệp Excel. Bài viết này sẽ xem xét yêu cầu này và giới thiệu một phương pháp nhanh chóng thông qua Outlook VBA.

Đôi khi, vì một số lý do, chẳng hạn như thống kê thư, bạn có thể thường xuyên cần xuất email sang tệp Excel. Nói chung, đối với các email đã nhận hiện có, bạn chỉ cần sử dụng tính năng “Nhập và Xuất” để xuất chúng sang Excel cùng một lúc. Tuy nhiên, có lẽ bạn thậm chí còn mong muốn Outlook có thể tự động xuất các email đến sang Excel ngay khi chúng đến hộp thư của bạn. Không còn nghi ngờ gì nữa, không có tính năng gốc nào như vậy trong Outlook . Do đó, bạn cần sử dụng các phương pháp khác, như phần bổ trợ của bên thứ 3 hoặc Outlook VBA. Ở đây chúng tôi sẽ hướng dẫn bạn cách tự động hóa nó bằng Outlook VBA. Đọc tiếp để biết các bước và mã theo.

Tự động xuất thông tin email đến sang tệp Excel

  1. Đầu tiên bạn phải tạo một file Excel.
  • Mở một tệp Excel mới.
  • Sau đó, bạn nên gõ “Không”. trong Ô A1, “Tên người gửi” trong Ô B1, “Địa chỉ email của người gửi” trong Ô C1 và “Chủ đề email” trong Ô D1 và “Thời gian đã nhận” trong Ô E1, như hình ảnh sau đây.Tạo một tệp Excel
  • Cuối cùng lưu nó vào tên bạn muốn và thư mục mong muốn.
  1. Sau đó, bạn nên khởi chạy Outlook.
  2. Sau đó nhấn nút phím “Alt + F11”, thao tác này sẽ đưa bạn đến trình chỉnh sửa VBA.
  3. Tiếp theo trong cửa sổ bật lên, bạn nên nhấp đúp vào “ThisOutlookSession” ở phía bên trái.
  4. Sau đó, trong cửa sổ dự án “ThisOutlookSession”, bạn cần sao chép và dán các mã VBA sau vào đó.
Public WithEvents objMails As Outlook.Items

Private Sub Application_Startup()
    Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub objMails_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkBook As Excel.Workbook
    Dim objExcelWorkSheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim strColumnB As String
    Dim strColumnC As String
    Dim strColumnD As String
    Dim strColumnE As String

    If Item.Class = olMail Then
       Set objMail = Item
    End If
 
    'Specify the Excel file which you want to auto export the email list
    'You can change it as per your case
    strExcelFile = "E:\Email\Email Statistics.xlsx"
 
    'Get Access to the Excel file
    On Error Resume Next
    Set objExcelApp = GetObject(, "Excel.Application")
    If Error <> 0 Then
       Set objExcelApp = CreateObject("Excel.Application")
    End If
    Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
 
    'Get the next empty row in the Excel worksheet
    nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
 
    'Specify the corresponding values in the different columns
    strColumnB = objMail.SenderName
    strColumnC = objMail.SenderEmailAddress
    strColumnD = objMail.Subject
    strColumnE = objMail.ReceivedTime
 
    'Add the vaules into the columns
    objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
    objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
    objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
    objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
 
    'Fit the columns from A to E
    objExcelWorkSheet.Columns("A:E").AutoFit
 
    'Save the changes and close the Excel file
    objExcelWorkBook.Close SaveChanges:=True
End Sub

Mã VBA - Tự động xuất thông tin email đến sang tệp Excel

  1. Sau này bạn phải ký mã này.
  2. Sau đó, restart Outlook để kích hoạt dự án VBA mới.
  3. Cuối cùng, kể từ bây giờ, tất cả các email đến sẽ được tự động xuất sang tệp Excel cài sẵn ngay khi chúng vào thư mục Hộp thư đến của bạn. File excel sẽ có dạng như hình sau:File Excel Chứa Thông Tin Email Đến

Ngăn chặn tham nhũng dữ liệu PST đau đớn

Outlook đã nhận được nhiều lời khen ngợi nhờ các tính năng khác nhau của nó. Tuy nhiên, điều đó không có nghĩa là điều đó là hoàn hảo. Nó vẫn có thể bị xâm phạm bất cứ lúc nào. Ví dụ: nếu bạn thường xuyên đóng Outlook không đúng cách, rất có thể dữ liệu PST của bạn sẽ gặp nguy hiểm. Trong trường hợp này, nếu bạn muốn sửa chữa PST dữ liệu, bạn phải nhờ đến một công cụ có kinh nghiệm, chẳng hạ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 phục hồi mdf 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.