Przejdź do głównej zawartości

Jak automatycznie eksportować wiadomości e-mail z Outlooka do Excela?

Zwykle możesz eksportować wiadomości e-mail z Outlooka do Excela za pomocą funkcji Importuj / Eksportuj. Ale czy kiedykolwiek próbowałeś automatycznie wyeksportować wiadomości e-mail do pliku Excel, gdy nadejdą nowe wiadomości? W tym artykule omówię, jak automatycznie wyeksportować informacje o nowych wiadomościach przychodzących w programie Excel.

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

Eksportuj informacje e-mail z programu Outlook do programu Excel z niesamowitą funkcją


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, zastosuj następujący kod VBA:

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

doc automatycznie eksportuje e-maile do programu Excel 1

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

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

Kod VBA: Automatyczny eksport informacji 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

Note: W powyższym kodzie, C: \ Users \ DT168 \ Desktop \ split document \ kto-data.xlsx to ścieżka do pliku Excel i nazwa programu Excel, w którym chcesz zlokalizować wyeksportowane informacje, zmień je zgodnie z potrzebami.

doc automatycznie eksportuje e-maile do programu Excel 2

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

doc automatycznie eksportuje e-maile 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 ponownie uruchomić program Outlook, aby ten kod zaczął obowiązywać. Odtąd, jeśli pojawią się nowe wiadomości e-mail, zostaną one automatycznie wyeksportowane do określonego skoroszytu, patrz zrzut ekranu:

doc automatycznie eksportuje e-maile do programu Excel 4


Eksportuj informacje e-mail z programu Outlook do programu Excel z niesamowitą funkcją

Jeśli chcesz wyeksportować wiadomości e-mail ze skrzynki odbiorczej, skrzynki nadawczej lub innych folderów do pliku Excel, Kutools dla programu Outlook's Szybki raport może pomóc w łatwym wygenerowaniu pliku XML do raportowania informacji o wszystkich elementach w bieżącym folderze e-mail lub folderze zadań, zgodnie z potrzebami.

Uwaga:Aby to zastosować Szybki raport, po pierwsze, należy pobrać plik Kutools dla programu Outlook, a następnie szybko i łatwo zastosuj tę funkcję.

Po zainstalowaniu Kutools dla programu Outlook, zrób tak:

1. Wybierz folder, do którego chcesz wyeksportować wszystkie informacje o wiadomościach, a następnie kliknij Kutools Plus > Szybki raportzobacz zrzut ekranu:

2. Następnie wyskoczył Zapisz raport okno, wybierz lokalizację i określ nazwę tego wyeksportowanego pliku, zobacz zrzut ekranu:

3. A następnie kliknij Zapisz aby zapisać ten plik, a następnie w wyskakującym okienku kliknij Tak przycisk, aby otworzyć plik, zobacz zrzut ekranu:

4. Teraz możesz zobaczyć wszystkie informacje e-maili w wybranym folderze zostały wyeksportowane do pliku Excel, zobacz zrzut ekranu:


Więcej artykułów względnych:

  • Eksportuj tabelę treści wiadomości e-mail do programu Excel w programie Outlook
  • Gdy otrzymasz wiadomość e-mail zawierającą niektóre tabele w treści, czasami może być konieczne wyeksportowanie wszystkich tabel z treści wiadomości do arkusza programu Excel. Zwykle możesz skopiować i wkleić tabele do arkusza roboczego, ale tutaj omówię przydatną metodę rozwiązania tego zadania, gdy trzeba wyeksportować wiele tabel.

Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
If I have more than one email accounts in outlook, how can I output the emails from a specified account ?
This comment was minimized by the moderator on the site
I have followed above steps but have blanks in excel.
what should I do?
This comment was minimized by the moderator on the site
Same excel not getting updated? Any suggestions?
This comment was minimized by the moderator on the site
How to capture the Categories, Importance or the User-defined column on the same folder view?
This comment was minimized by the moderator on the site
Can you please let me know how to deal with sub-folders in above code.
This comment was minimized by the moderator on the site
how to deal with subfolders.
This comment was minimized by the moderator on the site
I need the help about exporting Email information sent (outgoing) emails
This comment was minimized by the moderator on the site
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.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations