XL 2019 Extraire propriété d'un mail (Outlook eml)

re4

XLDnaute Occasionnel
Bonjour,
Ma connaissance du VBA étant limité, j'ai fait appel à une AI qui m'a proposé le code vba ci-dessous pour extraire les propriétés de tous les mails d'un dossier avec l'extension (*.eml), le fichier csv est bien créé mais il est vide !
Je fais appel à un humain (on a encore une longueur d'avance) pour résoudre mon petit problème.
Bonne journée

VB:
Sub ExtraireProprietesEmails()

    Dim fso As Object
    Dim folder As Object
    Dim emailFile As Object
    Dim txtFile As Object
    Dim line As String

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtFile = fso.CreateTextFile("propriétés_emails.csv")
    Set folder = fso.GetFolder("C:\Users\U\Downloads\test mail")

    For Each emailFile In folder.Files
        If LCase(Right(emailFile.Name, 4)) = ".eml" Then  ' Filtrer les fichiers .eml uniquement
            ' Extraire les propriétés du fichier email courant
            line = emailFile.Name & ", " ' Ajouter le nom du fichier aux propriétés
            ' ... (code d'extraction des propriétés du fichier email)
            txtFile.WriteLine line
        End If
    Next emailFile

    txtFile.Close
    MsgBox "Propriétés des e-mails extraites avec succès dans le fichier propriétés_emails.csv"

End Sub
 
Dernière édition:

mromain

XLDnaute Barbatruc
Bonjour re4,

Les fichiers eml semblent être de simples fichiers texte.
Du coup, on peut identifier assez facilement les infos suivantes :
  • émetteur
  • récepteur
  • sujet
  • date
FichierEML.png

C'est assurément faisable en VBA, je te conseille de regarder du coté de l'objet TextStream qui permet de lire des fichiers texte, notamment ligne par ligne (aide en ligne).

Sinon, c'est aussi faisable avec PowerQuery.
Tu trouveras un exemple ci-joint.

A+
 

Pièces jointes

  • ExempleEML.xlsx
    18.3 KB · Affichages: 5

re4

XLDnaute Occasionnel
Bonjour mromain,
je n'ai pas compris comment fonctionne ton fichier (pas de macro et pas de formule visible)
powequery, je ne maitrise pas non plus...
Le but, si je me suis bien fait comprendre est d'extraire les propriétés d'un ensemble de mail eml d'un repertoire pour les envoyer au service spam de provider.
La macro jointe semblait presque je faire mais le fichier est vide.
Je suis preneur de toutes solutions mais ça doit extraire l ensemble d'un repertroire.
Je peux le faire manuellement mais c'est long ,-)
 

Discussions similaires

Réponses
7
Affichages
594

Statistiques des forums

Discussions
315 124
Messages
2 116 473
Membres
112 753
dernier inscrit
PUARAI29