Email an bestimmter Stelle Auslesen
#1
Exclamation 
Hallo Leute, ich bin der neue und ich bin Hobby Scripter.
Bedeutet ich hab das nicht gelernt, nicht Studiert und nix. Also habt bitte nachsehen wenn ich Eure Fachantworten und Fachfragen nicht auf anhieb verstehe Smile
Also mein Problem ist ich habe Outlook Emails welche ich gerne Auslesen würde. Die Mails sind alle immer gleich aufgebaut vom "Body" her. In jeder Zeile steht ein bestimmtes Schlagwort mit : Endung z.b. " 

Betrag: 3210,23€
VZ: Umbuchung
Ref.: 7687654
Datum: 22.01.2021

So nun möchte ich diese Mail mit Excel VBA Auslesen und die Einzelnen Daten in eine Tabelle zur weiteren Bearbeitung Speichern.

Geschafft hab ich schon das ich den Absender, das Mail Datum den Betreff und auch den gesamten Body auslesen kann. Mein Problem ist ich möchte jedoch nicht den gesamt Body auslesen sondern jeweils Zeile für Zeile nur die Werte nach dem : und dann wieder die nächste Zeile den wert nach dem :.

Also kann mir da einer mal eine kleine Hilfe geben und ist das überhaupt möglich?

Vielen Dank schon mal für eure Mühe und Hilfe.
Top
#2
Hallo,

hier mal eine grobe Idee, wie Du das umsetzen könntest.
Es wird angenommen, dass die Zeilen im HTML-Body mit CRLF abschließen und Du die Auswertungen untereinander haben möchtest.
Aber kann man ja anpassen.

Code:

Sub Test1()
  Dim sBody As String
  Dim sArr() As String, sArr2() As String
  Dim i As Integer, iZeile As Long

  sBody = Email.body     ' hier den eMail-Body übergeben

  sArr = Split(sBody, vbCrLf)
  For i = 0 To UBound(sArr)
     sArr2 = Split(sArr(i), ":")
     If UBound(sArr2) > 0 Then
       iZeile = iZeile + 1
       Cells(iZeile, "A").Value = sArr2(0)
       Cells(iZeile, "B").Value = sArr2(1)
     End If
   Next i
  
End Sub

_________
viele Grüße
Karl-Heinz
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste