Outlook - E-Mail Inhalte extrahieren und in Excel einfügen

Wolfclaw7

Grünschnabel
Hi zusammen,

ich habe aktuell folgende Problemstellung:

Ich würde gerne bestimmte Inhalte aus einer, vom System generierten E-Mail, extrahieren und in eine Excel-Datei überführen.

Der Aufbau der E-Mail gestaltet sich folgendermaßen:


Neuer Zugang für: --> Irrelevant



Benutzername: XXX --> Irrelevant

Firma: XXX --> Wichtig

Anrede: Herr --> Wichtig

Titel: --> Wichtig

Vorname: XXX --> Wichtig

Nachname: XXX --> Wichtig

Straße: XXX --> Wichtig

Hausnummer: 2-4 --> Wichtig

PLZ: 12345 --> Wichtig

Ort: XXX --> Wichtig

Land: Deutschland --> Wichtig

Funktion/Abteilung: X --> Wichtig

Telefon: 123456789 --> Wichtig

E-Mail: XXX@XXX.de --> Wichtig

Homepage: XXX.de --> Wichtig

Branche: Medien --> Wichtig

Unterkategorie: PR --> Wichtig

Für welches System interessieren Sie sich?:

Ich weiß es noch nicht: Ja --> (Es gibt hier verschiedene "Systeme", wie z. B. "Finanzsystem", die in der Excel übernommen werden müssten.)

Verwendungszweck:

Allgemeines Interesse: Ja --> Wichtig (Es gibt hier verschiedene "Verwendungszwecke", wie z. B. "Allgemeines Interesse", die in der Excel übernommen werden müssten.)

Wie sind Sie auf uns aufmerksam geworden?:

Aufmerksam geworden durch: Empfehlung --> Wichtig


Zudem wäre das Eingangsdatum der E-Mail noch wichtig zu wissen.

Danke und beste Grüße schon mal für die Hilfe. :)

Wolfclaw7
 
Mit RegExp prüfen um die Elemente zu finden.

Visual Basic:
Public Sub test2()
    Dim msg$: msg = "Benutzername: abc" & _
                    vbCrLf & "Firma: FooBar AG" & _
                    vbCrLf & "Anrede: Herr" & _
                    vbCrLf & "Titel: Hallo Welt" & _
                    vbCrLf & "Vorname: Hans"
   
    Dim rx As Object: Set rx = CreateObject("VBScript.RegExp")
    rx.MultiLine = True
   
    'Firma
    rx.Pattern = "^Firma:\s*(.*?)\s*$"
    Dim firma$: If rx.test(msg) Then firma = rx.Execute(msg)(0).SubMatches(0)
       
    'Anrede
    rx.Pattern = "^Anrede:\s*(.*?)\s*$"
    Dim anrede$: If rx.test(msg) Then anrede = rx.Execute(msg)(0).SubMatches(0)
       
    Debug.Print msg
    Debug.Print ""
    Debug.Print firma
    Debug.Print anrede
Ausgabe
Code:
Benutzername: abc
Firma: FooBar AG
Anrede: Herr
Titel: Hallo Welt
Vorname: Hans

FooBar AG
Herr

Ansonsten schau mal das an [VBA] Zeilenweises Prüfen einer Datei mit RegExp [Yaslaw.Info]
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück