Comment exporter automatiquement les informations des e-mails entrants vers un fichier Excel avec Outlook VBA

Partage maintenant:

De nombreux utilisateurs espèrent qu'Outlook pourra exporter automatiquement les informations principales des e-mails entrants vers un fichier Excel. Cet article examinera cette exigence et présentera une méthode rapide via Outlook VBA.

Parfois, pour certaines raisons, telles que les statistiques de messagerie, vous devrez fréquemment exporter les e-mails vers un fichier Excel. Généralement, pour les e-mails reçus existants, vous pouvez simplement utiliser la fonction "Importer et exporter" pour les exporter vers Excel en une seule fois. Cependant, vous souhaitez peut-être même qu'Outlook puisse exporter automatiquement les e-mails entrants vers Excel dès qu'ils arrivent dans votre boîte aux lettres. Sans aucun doute, il n'y a pas une telle fonctionnalité native dans Outlook . Par conséquent, vous devez utiliser d'autres approches, comme un complément tiers ou Outlook VBA. Ici, nous allons vous apprendre à le rendre automatisé avec Outlook VBA. Lisez la suite pour obtenir les étapes et les codes correspondants.

Exporter automatiquement les informations des e-mails entrants vers un fichier Excel

  1. En premier lieu, vous devez créer un fichier Excel.
  • Ouvrez un nouveau fichier Excel.
  • Ensuite, vous devez taper "Non". dans la cellule A1, "Nom de l'expéditeur" dans la cellule B1, "Adresse e-mail de l'expéditeur" dans la cellule C1 et "Objet de l'e-mail" dans la cellule D1 et "Heure de réception" dans la cellule E1, comme l'image suivante.Créer un fichier Excel
  • Enfin, enregistrez-le sous le nom et le dossier souhaités.
  1. Après cela, vous devez lancer Outlook.
  2. Appuyez ensuite sur les touches "Alt + F11", ce qui vous amènera à l'éditeur VBA.
  3. Ensuite, dans la fenêtre contextuelle, vous devez double-cliquer sur "ThisOutlookSession" sur le côté gauche.
  4. Ensuite, dans la fenêtre de projet "ThisOutlookSession", vous devez y copier et coller les codes VBA suivants.
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

Codes VBA - Exporter automatiquement les informations des e-mails entrants vers un fichier Excel

  1. Plus tard, vous devrez signer ce code.
  2. Par la suite, restart Outlook pour activer le nouveau projet VBA.
  3. Finalement, à partir de maintenant, tous les e-mails entrants seront automatiquement exportés vers le fichier Excel prédéfini dès qu'ils atterriront dans votre dossier Boîte de réception. Le fichier Excel ressemblera à l'image suivante :Fichier Excel contenant des informations sur les e-mails entrants

Éviter la corruption douloureuse des données PST

Outlook a gagné beaucoup de félicitations en raison de ses diverses fonctionnalités. Cependant, cela ne signifie pas que c'est infaillible. Il peut toujours être compromis à tout moment. Par exemple, si vous fermez fréquemment votre Outlook de manière incorrecte, il est très probable que vos données PST soient mises en danger. Dans ce cas, si vous souhaitez réparer la TVP données, vous devez recourir à un outil expérimenté, tel que DataNumen Outlook Repair.

Introduction de l'auteur:

Shirley Zhang est une experte en récupération de données dans DataNumen, Inc., qui est le leader mondial des technologies de récupération de données, y compris récupérer mdf et produits logiciels de réparation Outlook. Pour plus d'informations, visitez www.datanumen.com

Partage maintenant:

Les commentaires sont fermés.