Cookies幫助我們提供服務。 使用我們的服務即表示您同意我們使用cookies。
提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如何自動將Outlook中的電子郵件導出到Excel?

通常,您可以使用“導入/導出”功能將Outlook中的電子郵件導出到Excel。 但是,您是否曾嘗試在新郵件到達時自動將電子郵件導出到Excel文件? 在本文中,我將討論如何在Excel中自動導出新傳入消息的信息。

使用VBA代碼自動將Outlook中的電子郵件信息導出到Excel


將收件箱/已發送物品/草稿中的emials快速導出到Excel文件:

Kutools for Outlook's 快速報告 功能,您可以輕鬆生成XML文件,以報告當前電子郵件文件夾或任務文件夾中的所有項目信息

doc自動導出電子郵件到excel 5

Kutools for Outlook:擁有超過40 +便利的Excel加載項,可以在60的日子裡免費試用而沒有限制。 立即下載並免費試用!

使用VBA代碼自動將Outlook中的電子郵件信息導出到Excel

要自動將新到達的電子郵件導出到Excel工作簿,請應用以下VBA代碼:

1。 首先,您應該創建一個帶有以下標題信息的工作簿,如下面的屏幕截圖所示,因此這些消息信息將導出到此Excel文件中。

doc自動導出電子郵件到excel 1

2。 然後轉到Outlook並按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。

3。 在 Microsoft Visual Basic for Applications 窗口,雙擊 ThisOutlookSession 來自 Project1(的VbaProject.OTM) 窗格來打開模式,然後將以下代碼複製並粘貼到空白模塊中。

VBA代碼:自動將電子郵件信息從Outlook導出到Excel文件:

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
    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

注意:在上面的代碼中, C:\ Users \ DT168 \ Desktop \ split document \ kto-data.xlsx 是您要查找導出信息的Excel文件路徑和Excel名稱,請根據需要進行更改。

doc自動導出電子郵件到excel 2

4。 還在 Microsoft Visual Basic for Applications 窗口中,單擊 工具 > 參考參考-Project1 對話框,並檢查 Microsoft Excel對像庫 選項從 可用的參考 列錶框,看截圖:

doc自動導出電子郵件到excel 3

5。 然後點擊 OK 按鈕關閉對話框,然後保存並關閉代碼窗口。

6。 現在,您應該重新啟動Outlook以使此代碼生效。 從現在開始,如果有新的電子郵件到達,它們將自動導出到特定的工作簿,請參見屏幕截圖:

doc自動導出電子郵件到excel 4



Kutools for Outlook

超過100高級功能的Outlook 2010,2013,2016,2019和365

屏幕截圖kutools for outlook tiny for banner 201812

更多功能 | 免費下載 | 只有$ 39.00數百個函數

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Jorge · 4 months ago
    I need the help about exporting Email information sent (outgoing) emails
    • To post as a guest, your comment is unpublished.
      skyyang · 4 months ago
      Hello, Jorge,
      If you want to export the sent messages from the Sent Items folder, the Kutools for Outlook's Quick Report feature can help you. You can download the Kutools for Outlook first and then apply it.