Skip to main content

如何自動將Outlook中的郵件匯出到Excel?

Author: Xiaoyang Last Modified: 2025-05-13

通常,您可以使用導入/導出功能將Outlook中的郵件匯出到Excel。然而,如果您需要在郵件到達時自動將其匯出到Excel文件中,Outlook並未提供內置解決方案。本文介紹了兩種實現此目的的方法:

使用VBA自動將收件匣中的新郵件匯出到Excel 手動且繁瑣

使用Kutools for Outlook快速將選定資料夾中的所有郵件匯出到Excel報告 ?快速且簡單


使用VBA自動將收件匣中的新郵件匯出到Excel

如果您需要一種自動化的方式將新郵件匯出到Excel,可以使用以下VBA代碼。此方法監控收件匣資料夾,並在新郵件到達時立即將其詳細信息匯出到Excel文件中。

步驟1:準備Excel文件

在執行VBA代碼之前,設置一個Excel工作簿來存儲匯出的郵件數據。在第一行中,包括以下列標題:序列、發件人名稱、發件人電子郵箱、主題和接收時間。

doc auto export emails to excel 1

步驟2:在Outlook中打開VBA編輯器

1. 按 Alt + F11 打開Microsoft Visual Basic for Applications窗口。

2. 在Project1 (VbaProject.OTM)窗格中,展開Microsoft Outlook對象並雙擊ThisOutlookSession。

步驟3:插入VBA代碼

複製並將以下VBA代碼粘貼到模塊中:

Public WithEvents GMailItems As Outlook.Items
Private Sub Application_Startup()
    Set GMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub GMailItems_ItemAdd(ByVal Item As Object)
    Dim xMailItem As Outlook.MailItem
    Dim xExcelFile As String
    Dim xExcelApp As Excel.Application
    Dim xWb As Excel.Workbook
    Dim xWs As Excel.Worksheet
    Dim xNextEmptyRow As Integer
    On Error Resume Next
    If Item.Class <> olMail Then Exit Sub
    Set xMailItem = Item
    ' Update this path with your actual Excel file path  
    xExcelFile = "C:\Users\DT168\Desktop\split document\kto-data.xlsx"
    If IsWorkBookOpen(xExcelFile) = True Then
        Set xExcelApp = GetObject(, "Excel.Application")
        Set xWb = GetObject(xExcelFile)
        If Not xWb Is Nothing Then xWb.Close True
    Else
        Set xExcelApp = New Excel.Application
    End If
    Set xWb = xExcelApp.Workbooks.Open(xExcelFile)
    Set xWs = xWb.Sheets(1)
    xNextEmptyRow = xWs.Range("B" & xWs.Rows.Count).End(xlUp).Row + 1
    With xWs
        .Cells(xNextEmptyRow, 1) = xNextEmptyRow - 1
        .Cells(xNextEmptyRow, 2) = xMailItem.SenderName
        .Cells(xNextEmptyRow, 3) = xMailItem.SenderEmailAddress
        .Cells(xNextEmptyRow, 4) = xMailItem.Subject
        .Cells(xNextEmptyRow, 5) = xMailItem.ReceivedTime
    End With
    xWs.Columns("A:E").AutoFit
    xWb.Save
End Sub
Function IsWorkBookOpen(FileName As String)
    Dim xFreeFile As Long, xErrNo As Long
    On Error Resume Next
    xFreeFile = FreeFile()
    Open FileName For Input Lock Read As #xFreeFile
    Close xFreeFile
    xErrNo = Err
    On Error GoTo 0
    Select Case xErrNo
        Case 0: IsWorkBookOpen = False
        Case 70: IsWorkBookOpen = True
        Case Else: Error xErrNo
    End Select
End Function

doc auto export emails to excel 2

⚡ 提示:在上述代碼中,C:\Users\DT168\Desktop\split document\kto-data.xlsx 代表將存儲郵件數據的Excel工作簿的文件路徑和名稱。務必修改此路徑以匹配您要使用的實際位置和文件名。

步驟4:啟用Microsoft Excel對象庫

1. 在Microsoft Visual Basic for Applications窗口中,點擊工具 > 引用。

2. 在引用 - Project1對話框中,向下滾動並勾選Microsoft Excel對象庫選項。

3. 點擊確定應用更改。

doc auto export emails to excel 3

步驟5:保存並重新啟動Outlook

1. 保存VBA代碼並關閉編輯器。

2. 重新啟動Outlook以使更改生效。

結果:

從現在開始,每封到達收件匣的新郵件都將自動匯出到指定的Excel工作簿中。

doc auto export emails to excel 4

VBA方法的局限性:

  • ❌ 僅適用於單個收件匣:此方法僅追蹤默認收件匣中的新郵件。如果您有多個帳戶,它不會捕獲其他帳戶的郵件。
  • ❌ 需要啟用宏的Outlook:VBA宏必須啟用才能運行,這可能帶來安全問題。
  • ❌ 文件路徑依賴:如果Excel文件被移動或刪除,代碼將失敗。
  • ❌ 需要手動設置:用戶必須手動輸入Excel文件路徑並設置VBA環境。

? 使用 Kutools 實現更智慧的郵件統計

透過 Kutools for Outlook統計 功能,輕鬆追蹤並分析您的郵件活動。現在可以按 每日、每週 或每月 計數 收到的郵件,並以清晰且專業的圖表查看結果!只需點擊幾下,即可簡化郵件管理並獲得寶貴的見解。

shot of the Statistics result

使用Kutools for Outlook快速將選定資料夾中的所有郵件匯出到Excel報告 ?

如果您需要一種無需使用VBA即可從任何資料夾(收件匣、已發送郵件、自定義資料夾)匯出郵件的簡便方法,Kutools for Outlook的快速報告功能提供了一個簡單的解決方案。

使用 Kutools for Outlook 解鎖極致郵件效率!永久免費獲取 70 項強大功能。立即下載免費版本

步驟1:選擇資料夾並啟用快速報告功能

1. 打開Outlook並導航到您要匯出的資料夾(收件匣、發件箱、已發送郵件等)。

2. 點擊 Kutools Plus > 報告 > 快速報告。

步驟2:選擇保存位置

1. 在保存報告窗口中,選擇一個位置並輸入匯出的文件名。

2. 點擊保存。

doc auto export emails to excel 7

步驟3:打開匯出的報告

將出現確認消息。點擊是打開匯出的文件。

doc auto export emails to excel 8

結果:

所選資料夾中的所有郵件將被匯出到Excel友好的XML文件中,顯示發件人、主題、接收時間等信息。

doc auto export emails to excel 9

Kutools for Outlook方法的優勢:

  • 適用於任何資料夾:從收件匣、已發送郵件、發件箱或自定義資料夾匯出郵件。
  • 無需VBA:無需啟用宏或編輯代碼。
  • 多帳戶支持:輕鬆匯出多個電子郵件帳戶的郵件。
  • 節省時間:幾次點擊即可生成即時報告。
  • 可定制的數據匯出:選擇要包含的詳細信息(主題、發件人、日期等)。
注意要應用Kutools for Outlook的快速報告實用程序,首先,您應該下載並安裝Kutools for Outlook。

您應該使用哪種方法?

以下是兩種方法的比較,幫助您決定哪一種最適合您的需求:

方法最適合易用性效率
使用VBA代碼(自動但複雜) 自動匯出收件匣中的新郵件 ⭐⭐ ⭐⭐⭐⭐
使用Kutools for Outlook(簡單且靈活) 快速匯出選定資料夾中的所有郵件 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐

通過選擇正確的方法,您可以根據自己的工作流程需求高效地將Outlook郵件匯出到Excel!


相關文章

  • 在Outlook中將郵件正文表格匯出到Excel
  • 當您收到一封包含一些表格的郵件時,有時候您可能需要將郵件正文中所有的表格匯出到Excel工作表。通常,您可以複製並粘貼表格到工作表,但是,這裡我將介紹一種有用的方法來處理當有多個表格需要匯出的情況。
  • 在Outlook中提取或匯出任務列表到Excel
  • 在使用Outlook時,您可以將任務列表提取到Excel以供其他用途。利用Outlook強大的導出功能,您可以輕鬆地將任務列表匯出到Excel。請按照以下教程操作。
  • 在Outlook中匯出帶照片的聯繫人信息
  • 當您從Outlook匯出聯繫人到文件時,只能匯出聯繫人的文本信息。但是,有時候您還需要匯出照片以及聯繫人的文本信息,那麼在Outlook中該如何處理這個任務呢?