KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何自動將 Outlook 郵件匯出至 Excel?

作者Xiaoyang修改日期

通常可透過 Outlook 的匯入/匯出功能,將郵件匯出至 Excel。然而,若您希望在新郵件抵達時自動將其匯出至 Excel 檔案,Outlook 並未內建此功能。本文將介紹兩種實現方式:

使用 VBA 自動將收件匣中新郵件匯出至 Excel(手動且繁瑣)

使用 Kutools for Outlook 快速將所選資料夾中的所有郵件匯出為 Excel 報表 👍(快速且簡單)


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

若您希望自動將新郵件匯出至 Excel,可使用下列 VBA 程式碼。此方法會監控收件匣資料夾,並在郵件抵達時立即將新郵件的詳細資料匯出至 Excel 檔案。

步驟 1:準備 Excel 檔案

執行 VBA 程式碼前,請先建立一個 Excel 工作表,用於儲存匯出的郵件資料,並在第一列加入以下欄位標題:編號、發件人名稱、發件人電子郵箱、主旨與接收時間。

doc 自動將電子郵件匯出至 Excel 1

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

1. 按下 Alt+F11,立即開啟 Microsoft Visual Basic for Applications 視窗!

2. 在「專案 1 (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 自動將電子郵件匯出至 Excel 2

⚡ 提示:上述程式碼中,C:\Users\DT 168\Desktop\split document\kto-data.xlsx 代表儲存郵件資料的檔案路徑與 Excel 工作表名稱。請務必修改此路徑,使其符合您實際使用的儲存位置與檔案名稱。

步驟 4:啟用 Microsoft Excel 物件庫

1. 在 Microsoft Visual Basic for Applications 視窗中,點選「工具」>「參考」。

2. 在「參考 - 專案 1」對話方塊中,向下捲動並勾選「Microsoft Excel 物件庫」選項。

3. 按一下「確定」即可套用變更。

doc 自動將電子郵件匯出至 Excel 3

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

1. 儲存 VBA 程式碼,然後關閉編輯器。

2. 重新啟動 Outlook,讓變更立即生效。

結果:

從現在起,每封新抵達收件匣的郵件都會自動匯出至指定的 Excel 工作表。

doc 自動將電子郵件匯出至 Excel 4

VBA 方法的限制:

  • ❌ 僅適用於單一收件匣:此方法僅追蹤預設收件匣中的新郵件。若您使用多個帳戶,將無法擷取其他帳戶的郵件。
  • ❌ 需啟用巨集的 Outlook:必須啟用 VBA 巨集才能運作,可能引發安全性疑慮。
  • ❌ 依賴檔案路徑:一旦 Excel 檔案被移動或刪除,程式碼將立即失效。
  • ❌ 需手動設定:使用者必須手動輸入 Excel 檔案路徑,並設定 VBA 環境。

📊 使用 Kutools 讓郵件統計更聰明

透過 Kutools for Outlook統計資料功能,輕鬆追蹤並分析您的電子郵件活動!立即依日、週或月統計收件數量,並以清晰專業的圖表掌握結果。只需點擊幾下,即可簡化郵件管理工作,獲得寶貴洞察——效率提升,不容錯過!

統計結果畫面截圖

使用 Kutools for Outlook 快速將所選資料夾中的所有郵件匯出為 Excel 報表 👍

若您希望省去繁瑣步驟,無論郵件位於收件匣、已傳送郵件或自訂資料夾,皆能無需使用 VBA 即可輕鬆匯出,Kutools for Outlook 的「快速報告」功能正是您的理想選擇。

告別 Outlook 效率低落的困擾!Kutools for Outlook 讓批次處理電子郵件變得更輕鬆——立即體驗 30 天免費試用!立即下載 Kutools for Outlook!

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

1. 開啟 Outlook,並導覽至您要匯出的資料夾(例如收件匣、寄件匣或已傳送郵件等)。

2. 點選「Kutools Plus」>「報表」>「快速報告」。

步驟 2:選擇儲存位置

1. 在「儲存報告」視窗中,選擇儲存位置並輸入匯出檔案的名稱。

2. 點擊「儲存」。

doc 自動將電子郵件匯出至 Excel 7

步驟 3:開啟導出報告

將彈出確認訊息,請點選「是」以開啟已匯出的檔案。

doc 自動將電子郵件匯出至 Excel 8

結果:

所選資料夾中的所有郵件將匯出為 Excel 相容的 XML 檔案,內含寄件者、主旨、接收時間等詳細資訊。

doc 自動將電子郵件匯出至 Excel 9

Kutools for Outlook 方法的優勢:

  • 適用於任何資料夾:無論是收件匣、已傳送郵件、寄件匣或自訂資料夾,都能輕鬆匯出郵件!
  • 無需 VBA:無需啟用巨集或編寫程式碼。
  • 支援多帳戶:輕鬆匯出多個電子郵件帳戶的郵件!
  • 節省時間:只需點擊幾下,立即生成報表!
  • 可自訂資料匯出內容:自由選擇要包含的詳細資訊(如主旨、寄件者、日期等),彈性掌握您的資料!
注意若要使用 Kutools for Outlook 的快速報告工具,首先應下載並安裝 Kutools for Outlook

該選擇哪種方法?

以下是兩種方法的比較,協助您根據需求選擇最適合的方案:

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

選擇最適合的方法,就能依照您的工作流程需求,高效將 Outlook 郵件匯出至 Excel!


相關文章

  • 在 Outlook 中將郵件內文表格匯出至 Excel
  • 當您收到一封內含多個表格的郵件時,或許會需要將郵件內文中的所有表格匯出至 Excel 工作表。雖然一般情況下可直接複製貼上,但本文將為您介紹一種實用方法,讓您在處理多個表格時輕鬆完成匯出工作。

最佳 Office 生產力工具

體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!

🤖KUTOOLS AI運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!

📧 郵件自動化自動答覆(支援 POP 與 IMAP)預約寄送郵件寄信時依規則自動抄送密送自動轉發(高級規則)自動加入問候語自動將多收件人郵件拆分為個別訊息……

📨 郵件管理撤回郵件依主旨等條件封鎖詐騙郵件刪除重複郵件高級搜尋整合文件夾……

📁 附件專業版批次儲存批次解除附加批次壓縮自動保存自動拆離自動壓縮……

🌟 介面魔法😊更多精美酷炫表情符號重要郵件來到時提醒您最小化 Outlook 而非關閉……

👍 一鍵奇蹟帶附件全部答復防釣魚郵件🕘顯示發送者當前時間時區……

👩🏼‍🤝‍👩🏻 聯絡人與行事曆從選取的郵件中批次新增聯絡人將聯繫人組拆分為個別群組移除生日提醒……

用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!

立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!

kutools for outlook features1kutools for outlook features2

🚀 一鍵下載 — 立即取得所有 Office 增益集

強烈推薦:Kutools for Office(5 合 1)

一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即點擊下載!

  • 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
  • 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
  • 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint