Informatie over inkomende e-mails automatisch exporteren naar een Excel-bestand met Outlook VBA

Veel gebruikers hopen dat Outlook automatisch de primaire informatie van inkomende e-mails naar een Excel-bestand kan exporteren. Dit artikel gaat in op deze vereiste en introduceert een snelle methode via Outlook VBA.

Soms moet u om bepaalde redenen, zoals e-mailstatistieken, de e-mails vaak naar een Excel-bestand exporteren. Over het algemeen kunt u voor de bestaande ontvangen e-mails gewoon de functie "Importeren en exporteren" gebruiken om ze in één keer naar Excel te exporteren. Misschien wilt u echter zelfs dat Outlook de inkomende e-mails automatisch naar Excel kan exporteren zodra ze in uw mailbox aankomen. Zonder enige twijfel is er niet zo'n native functie in Outlook. Daarom moet u andere benaderingen gebruiken, zoals een invoegtoepassing van derden of Outlook VBA. Hier zullen we u leren hoe u het automatisch kunt maken met Outlook VBA. Lees verder om de stappen en bijbehorende codes te krijgen.

Auto-export van informatie van inkomende e-mails naar een Excel-bestand

  1. In de eerste plaats moet u een Excel-bestand maken.
  • Open een nieuw Excel-bestand.
  • Vervolgens moet u "Nee" typen. in cel A1, "Naam afzender" in cel B1, "E-mailadres afzender" in cel C1 en "E-mailonderwerp" in cel D1, en "Tijd ontvangen" in cel E1, zoals in de volgende afbeelding.Maak een Excel-bestand
  • Sla het tenslotte op in de door u gewenste naam en gewenste map.
  1. Daarna zou u Outlook moeten starten.
  2. Druk vervolgens op de toets "Alt + F11", die u naar de VBA-editor brengt.
  3. Vervolgens moet u in het pop-upvenster dubbelklikken op "ThisOutlookSession" aan de linkerkant.
  4. Vervolgens moet u in het projectvenster "ThisOutlookSession" de volgende VBA-codes erin kopiëren en plakken.
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

VBA-codes - Auto-export van informatie van inkomende e-mails naar een Excel-bestand

  1. Later moet u deze code ondertekenen.
  2. Vervolgens restart Outlook om het nieuwe VBA-project te activeren.
  3. Uiteindelijk worden vanaf nu alle inkomende e-mails automatisch geëxporteerd naar het vooraf ingestelde Excel-bestand zodra ze in uw Inbox-map terechtkomen. Het Excel-bestand ziet eruit als de volgende afbeelding:Excel-bestand met informatie over inkomende e-mails

Voorkom pijnlijke PST-gegevenscorruptie

Outlook heeft veel complimenten verdiend vanwege de verschillende functies. Het betekent echter niet dat het onfeilbaar is. Het kan nog steeds op elk moment in gevaar komen. Als u bijvoorbeeld uw Outlook regelmatig onjuist sluit, is de kans groot dat uw PST-gegevens in gevaar komen. In dit geval, als u dat zou willen reparatie PST data, moet u een beroep doen op een ervaren tool, zoals DataNumen Outlook Repair.

Auteur Introductie:

Shirley Zhang is een expert op het gebied van gegevensherstel in DataNumen, Inc., de wereldleider in technologieën voor gegevensherstel, waaronder herstel mdf en Outlook-reparatiesoftwareproducten. Voor meer informatie bezoek www.datanumen.com

Reacties zijn gesloten.