VBA Outlook. Es wird versucht, bestimmte Daten aus dem E-Mail-Text zu extrahieren und nach Excel zu exportieren

Ich habe hier eine ganze Reihe von Anleitungen gefunden, die mich dorthin geführt haben, wo ich mich gerade befinde, aber ich brauche Hilfe, um meinen Code fertigzustellen (ich bin ein absoluter Anfänger, also nehmen Sie mich in Kauf). Ich versuche, VBA in Outlook zu verwenden, um Daten aus den E-Mails zu exportieren, die ich in einem bestimmten Ordner meines Outlooks habe, um zu übertreffen. Ich muss Daten aus dem Nachrichtentext zahlreicher E-Mails in ein Excel-Blatt extrahieren. Die E-Mail-Vorlage, aus der ich extrahiere, finden Sie unten. Ich benötige die 10-stellige Nummer nach der Referenznummer, die 10-stellige Nummer nach der Seriennummer und die 7-stellige Nummer nach der Problembeschreibung. (Ich habe die Teile, die ich brauche, für den Fall, dass das nicht klar war, fett gedruckt.)

Sehr geehrter Herr / Frau xxxxxxxx,

------------------ Nicht benötigte Informationen -----------------

Referenznummer1234567890.

STATUS: ---- nicht benötigte Informationen -----

Ordnungsnummer:XXXXXXXXXX Problembeschreibung:______________ (Die Daten hier können leicht variieren. Ich bin nur damit beschäftigt, eine 7-stellige Nummer aus diesem Bereich zu ziehen. Wenn dies jedoch nicht möglich ist, kann ich es auch tun.) _______

Benutze das….

----------------- Der Rest wird nicht benötigt -----------------------

Bisher konnte ich ein Skript erstellen, das den Outlook-Ordner durchsucht, in dem ich mich gerade befinde, eine Excel-Tabelle öffnet, die Überschriften in Excel benennt und die Daten importiert. Es zieht jedoch den gesamten Körper, nicht nur die Segmente, die ich brauche, und setzt sie in Excel in die falschen Spalten. Soweit kann ich leider nicht kommen, da ich hier ein absoluter Neuling bin. Auf dieser Website konnte ich einige Beispiele mit einem ähnlichen Problem mit Lösungen finden, aber ich konnte nicht viel Sinn daraus machen. Durch viele Versuche und Irrtümer bin ich dazu übergegangen, mich selbst zu posten, und jede Hilfe wäre sehr dankbar. Hier ist mein Code in seiner aktuellen Inkarnation-

    Sub Extract()
    On Error Resume Next
    Set myOlApp = Outlook.Application
    Set mynamespace = myOlApp.GetNamespace("mapi")

    ‘open the current folder, I want to be able to name a specific folder if possible…

    Set myfolder = myOlApp.ActiveExplorer.CurrentFolder
    Set xlobj = CreateObject("excel.application.14")
    xlobj.Visible = True
    xlobj.Workbooks.Add
    'Set Heading

    xlobj.Range("a" & 1).Value = "Case Number"
    xlobj.Range("b" & 1).Value = "HDD Serial Number"
    xlobj.Range("c" & 1).Value = "Sys Serial Number"
    xlobj.Range("d" & 1).Value = "User"


    For i = 1 To myfolder.Items.Count
    Set myitem = myfolder.Items(i)
    msgtext = myitem.Body

    ‘search for specific text
    delimtedMessage = Replace(msgtext, "reference number", "###")
    delimtedMessage = Replace(delimtedMessage, "Problem description:", "###")
    delimtedMessage = Replace(delimtedMessage, "Serial Number:", "###")
    messageArray = Split(delimtedMessage, "###")
    ‘write to excel
    xlobj.Range("a" & i + 1).Value = messageArray(1)
    xlobj.Range("b" & i + 1).Value = messageArray(2)
    xlobj.Range("c" & i + 1).Value = messageArray(3)
    xlobj.Range("d" & i + 1).Value = myitem.To

    Next
    End Sub

Referenzen, die ich bisher verwendet habe:Verwenden von VB / VBA zum Durchsuchen von Outlook-Nachrichten und zum Extrahieren bestimmter Daten in ein Excel-Arbeitsblatt Es gab eine andere, die ich verwendet habe, für die ich den Link nicht finden kann, und einen Thread über reddit, aber ich stecke immer noch fest. Ich bin mir nicht sicher, ob dies der beste Weg ist, um die gewünschten Ergebnisse zu erzielen, da dies mein erster Versuch ist. Ich bin offen für Änderungen. Danke im Voraus

Antworten auf die Frage(1)

Ihre Antwort auf die Frage