Pliki cookie pomagają nam dostarczać nasze usługi. Korzystając z naszych usług, zgadzasz się na nasze pomocą plików cookie.
Wskazówka: inne języki są tłumaczone przez Google. Możesz odwiedzić English wersja tego linku.
Zaloguj Się
x
or
x
x
Zarejestruj
x

or

Jak automatycznie eksportować wiadomości e-mail z programu Outlook do programu Excel?

Zwykle można eksportować wiadomości e-mail z programu Outlook do programu Excel za pomocą funkcji Import / Eksport. Ale czy kiedykolwiek próbowałeś automatycznie wyeksportować e-maile do pliku Excel, gdy przybywają nowe wiadomości? W tym artykule omówię sposób automatycznego eksportowania informacji o nowych przychodzących wiadomościach w programie Excel.

Automatycznie eksportuj informacje e-mail z programu Outlook do programu Excel za pomocą kodu VBA


Szybko wyeksportuj pliki typu emial z Inbox / Sent Items / Drafts ... do pliku Excel:

Z Kutools dla programu Outlook's Szybki raport funkcja, można łatwo wygenerować plik XML do zgłaszania informacji o wszystkich elementach w bieżącym folderze e-mail lub folderze zadań

doc automatyczne eksportowanie wiadomości e-mail do programu Excel 5

Kutools dla programu Outlook: z więcej niż 40 + poręcznymi dodatkami Excela, możesz wypróbować bez ograniczeń w 60 dniach. Pobierz i wypróbuj darmowy okres próbny już teraz!

Automatycznie eksportuj informacje e-mail z programu Outlook do programu Excel za pomocą kodu VBA

Aby automatycznie wyeksportować nowe przychodzące wiadomości e-mail do skoroszytu programu Excel, należy zastosować następujący kod VBA:

1. Najpierw powinieneś utworzyć skoroszyt z poniższymi informacjami w nagłówku, jak pokazano na zrzucie ekranu, aby te informacje o wiadomościach zostały wyeksportowane do tego pliku Excel.

doc automatyczne eksportowanie wiadomości e-mail do programu Excel 1

2. Następnie przejdź do Outlooka i przytrzymaj przycisk ALT + F11 klawisze, aby otworzyć Microsoft Visual Basic for Applications okno.

3, w Microsoft Visual Basic for Applications okno, kliknij dwukrotnie ThisOutlookSession z Project1 (VbaProject.OTM) okienko, aby otworzyć tryb, a następnie skopiuj i wklej następujący kod do pustego modułu.

Kod VBA: Automatycznie eksportuj informacje e-mail z programu Outlook do pliku 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

Uwagi: W powyższym kodzie, C: \ Users \ DT168 \ Desktop \ split document \ kto-data.xlsx to ścieżka pliku Excel i nazwa programu Excel, które chcesz zlokalizować wyeksportowane informacje, zmień to na swoje potrzeby.

doc automatyczne eksportowanie wiadomości e-mail do programu Excel 2

4. Wciąż w Microsoft Visual Basic for Applications okno, kliknij Przybory > Referencje , aby przejść do Referencje-Project1 okno dialogowe i sprawdź Biblioteka obiektów Microsoft Excel opcja z Dostępne referencje pole listy, zobacz zrzut ekranu:

doc automatyczne eksportowanie wiadomości e-mail do programu Excel 3

5. Następnie kliknij OK Aby zamknąć okno dialogowe, a następnie zapisz i zamknij okno kodu.

6. Teraz należy zrestartować program Outlook, aby ten kod zaczął działać. Odtąd, jeśli nadejdą nowe wiadomości e-mail, zostaną one automatycznie wyeksportowane do konkretnego skoroszytu, zobacz zrzut ekranu:

doc automatyczne eksportowanie wiadomości e-mail do programu Excel 4



Kutools dla programu Outlook

Więcej niż zaawansowane funkcje 100 dla programów Outlook 2010, 2013, 2016, 2019 i 365

screen shot kutools dla programu outlook tiny dla banera 201812

Więcej funkcji | Darmowe pobieranie | Tylko $ 39.00 dla setek funkcji

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.