Jak automatycznie eksportować informacje o przychodzących wiadomościach e-mail do pliku Excel za pomocą programu Outlook VBA

Podziel się teraz:

Wielu użytkowników ma nadzieję, że program Outlook może automatycznie eksportować podstawowe informacje o przychodzących wiadomościach e-mail do pliku Excel. W tym artykule przyjrzymy się temu wymaganiu i przedstawimy szybką metodę za pośrednictwem programu Outlook VBA.

Czasami z pewnych powodów, takich jak statystyki poczty, często może być konieczne wyeksportowanie wiadomości e-mail do pliku Excel. Ogólnie rzecz biorąc, w przypadku już otrzymanych wiadomości e-mail można po prostu skorzystać z funkcji „Importuj i eksportuj”, aby wyeksportować je do programu Excel za jednym razem. Jednak być może nawet chcesz, aby Outlook mógł automatycznie eksportować przychodzące wiadomości e-mail do programu Excel, gdy tylko dotrą do skrzynki pocztowej. Bez wątpienia w Outlooku nie ma takiej natywnej funkcji. Dlatego musisz zastosować inne podejścia, takie jak dodatek innej firmy lub Outlook VBA. Tutaj nauczymy Cię, jak zrobić to automatycznie za pomocą programu Outlook VBA. Czytaj dalej, aby uzyskać instrukcje i odpowiednie kody.

Automatyczne eksportowanie informacji o przychodzących wiadomościach e-mail do pliku Excel

  1. W pierwszej kolejności należy utworzyć plik Excel.
  • Otwórz nowy plik Excel.
  • Następnie wpisz „Nie”. w komórce A1, „Nazwa nadawcy” w komórce B1, „Adres e-mail nadawcy” w komórce C1 i „Temat wiadomości e-mail” w komórce D1 i „Czas odebrania” w komórce E1, jak na poniższym obrazku.Utwórz plik Excel
  • Na koniec zapisz go pod żądaną nazwą i wybranym folderem.
  1. Następnie powinieneś uruchomić Outlooka.
  2. Następnie naciśnij klawisze „Alt + F11”, co przeniesie Cię do edytora VBA.
  3. Następnie w wyskakującym okienku należy dwukrotnie kliknąć „ThisOutlookSession” po lewej stronie.
  4. Następnie w oknie projektu „ThisOutlookSession” należy skopiować i wkleić do niego następujące kody VBA.
Public WithEvents objMails As Outlook.Items

Private Sub Application_Startup()
    Set objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub objMails_ItemAdd(ByVal Item As Object)
    Dim objMail As Outlook.MailItem
    Dim strExcelFile As String
    Dim objExcelApp As Excel.Application
    Dim objExcelWorkBook As Excel.Workbook
    Dim objExcelWorkSheet As Excel.Worksheet
    Dim nNextEmptyRow As Integer
    Dim strColumnB As String
    Dim strColumnC As String
    Dim strColumnD As String
    Dim strColumnE As String

    If Item.Class = olMail Then
       Set objMail = Item
    End If
 
    'Specify the Excel file which you want to auto export the email list
    'You can change it as per your case
    strExcelFile = "E:\Email\Email Statistics.xlsx"
 
    'Get Access to the Excel file
    On Error Resume Next
    Set objExcelApp = GetObject(, "Excel.Application")
    If Error <> 0 Then
       Set objExcelApp = CreateObject("Excel.Application")
    End If
    Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile)
    Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1")
 
    'Get the next empty row in the Excel worksheet
    nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1
 
    'Specify the corresponding values in the different columns
    strColumnB = objMail.SenderName
    strColumnC = objMail.SenderEmailAddress
    strColumnD = objMail.Subject
    strColumnE = objMail.ReceivedTime
 
    'Add the vaules into the columns
    objExcelWorkSheet.Range("A" & nNextEmptyRow) = nNextEmptyRow - 1
    objExcelWorkSheet.Range("B" & nNextEmptyRow) = strColumnB
    objExcelWorkSheet.Range("C" & nNextEmptyRow) = strColumnC
    objExcelWorkSheet.Range("D" & nNextEmptyRow) = strColumnD
    objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE
 
    'Fit the columns from A to E
    objExcelWorkSheet.Columns("A:E").AutoFit
 
    'Save the changes and close the Excel file
    objExcelWorkBook.Close SaveChanges:=True
End Sub

Kody VBA - Automatyczny eksport informacji o przychodzących wiadomościach e-mail do pliku Excel

  1. Później powinieneś podpisać ten kod.
  2. Następnie restarOutlook, aby aktywować nowy projekt VBA.
  3. Ostatecznie od teraz wszystkie przychodzące wiadomości e-mail będą automatycznie eksportowane do wstępnie ustawionego pliku Excel, gdy tylko trafią do folderu Skrzynka odbiorcza. Plik programu Excel będzie wyglądał następująco:Plik Excel zawierający informacje o przychodzących wiadomościach e-mail

Zapobiegaj bolesnemu uszkodzeniu danych PST

Outlook zyskał wiele uznania ze względu na różne funkcje. Nie oznacza to jednak, że jest niezawodny. W każdej chwili może zostać przejęty. Na przykład, jeśli często nieprawidłowo zamykasz Outlooka, jest bardzo prawdopodobne, że Twoje dane PST zostaną narażone na niebezpieczeństwo. W takim przypadku, jeśli chcesz naprawa PST danych, musisz skorzystać z doświadczonego narzędzia, takiego jak DataNumen Outlook Repair.

Wprowadzenie autora:

Shirley Zhang jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym odzyskać mdf i oprogramowanie do naprawy programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.