Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Daten aus Mails nach Excel exportieren
#1
Hallo ich brauce wieder mal Hilfe,

ich bekommen über einen Formmailer mehrere hundert Mails. Nun möchte ich aus diesen Mails immer die Daten der jeweiligen gleichen Position nach Excel in eine Zeile (fortlaufend) exportieren. Bin hier mit meinen Makrokenntnissen am Ende!

Geht das?
Gruß Kreck2
Outlook 2010 Excel 2010
Antworten Top
#2
Hallo Kreck2,

ich denke, das geht. Wie sieht denn Dein email aus, welche Position soll es denn sein? Im Netz gibt es einige Beispiele, die man auf Deine Anforderung anpassen kann.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
Anbei mal konkret!
So sehen ankommende Mails aus und Wert soll zu Excel in Zeile 2 Spalte wie beschrieben.
Mit der nächsten Mail dann soll sich Tabelle füllen.

Von: Mail Transfer Agent [mailto:mailserver@formmailer.info] Im Auftrag von Kreck2
Gesendet: Freitag, 6. Februar 2015 11:47
An: Muster.Max
Betreff: [ACHTUNG! Absenderadresse kann gefaelscht sein - bitte ueberpruefen!] Ticket_ID ( 6/02/2015) 6/02/2015 zu B2
Die Formulardaten wurden am 06.02.2015 um 11:46 Uhr übertragen Datum und Zeit zu A2
--------------------------------------------------------------------------
Absender Mail: Max.Muster@web.de
verstanden: ON
eingewilligt: ON
Anrede: Herr wert hinter:E2
Name: Muster wert hinter:zu F2
Vorname: Max wert hinter:zu G2
Geburtstag: 01.01.1980 wert hinter:zu H2
Strasse: Musterstr. 8 wert hinter: zu I2
Plz: 01999 wert hinter:zu J2
Ort: Musterstadt wert hinter: zu K2
Mail_wiederholt: Max.Muster@web.de wert hinter: zu L2
alter1: alle Fahrer sind mind. 23 Jahre alt wert hinter: zu M2
Telefon: 0800/1111 wert hinter: zu N2
fahrzeug_art1: Kleinkraftrad bis 45 km/h wert hinter: zu O2
fahrzeug_hersteller1: Simson wert hinter:zu P2
fahrzeug_schlüssel1: 1221112 wert hinter: zu Q2
fahrzeug_datum1: 1958 wert hinter:zu R2
vorvertrag1: AES212 S2
fahrzeug_art2: kein weiteres Fahrzeug
fahrzeug_hersteller2:
fahrzeug_schlüssel2:
fahrzeug_datum2: Bitte wählen
vorvertrag2:
fahrzeug_art3: kein weiteres Fahrzeug
fahrzeug_hersteller3:
fahrzeug_schlüssel3:
fahrzeug_datum3: Bitte wählen
vorvertrag3:
fahrzeug_art4: kein weiteres Fahrzeug
fahrzeug_hersteller4:
fahrzeug_schlüssel4:
fahrzeug_datum4: Bitte wählen
vorvertrag4:
angebot: nein wert hinter: zu U2
beratung: keine weitere Beratung / Angebot wert hinter: zu V2
zustimmung: ON wert hinter: zu W2
prüfun_ja: ON
1 x (1) 1 Fahrzeug wert aus (1) zu D2
Einzelpreis: 48.85 Euro -> Zwischensumme: 48.85 Euro
1 x Versand per Vorkasse 3,25Euro Porto (Einschreiben) 3,25 zu T2
Antworten Top
#4
Hallo!

Das Thema hatte ich doch erst vor Kurzem in einem anderen Forum. ;)

Denn Code musst Du noch anpassen. Der Body wird per Array ausgelesen. Ein Array beginnt immer bei 0. Einen Verweis auf dei Excel Object Library setzen.

Option Explicit


Public Sub AnmeldedatenEintragen()
Dim xlApp        As Object
Dim xlRange      As Long
Dim xlBook       As Excel.Workbook
Dim xlSheet      As Excel.Worksheet
Dim vntTempArray As Variant
Dim obj As Object

 Select Case True
        Case TypeOf Application.ActiveWindow Is Outlook.Inspector
             Set obj = Application.ActiveInspector.CurrentItem
        Case Else
             With Application.ActiveExplorer.Selection
                  If .Count Then Set obj = .Item(1)
             End With
                 If obj Is Nothing Then Exit Sub
 End Select

vntTempArray = Split(obj.Body, vbCrLf)

Set xlApp = New Excel.Application

        With xlApp
             .Visible = True
             .Workbooks.Open Environ("USERPROFILE") & "\Documents\Ziel\Tester.xlsx"
                 Set xlBook = xlApp.Workbooks("Tester.xlsx")
                 Set xlSheet = xlBook.Sheets("Tabelle1")
                     With xlBook
                          With xlSheet
                               xlRange = _
                                    .Range("A" & .Rows.Count).End(xlUp).Row + 1
                                    .Range("A" & xlRange) = Replace(vntTempArray(3), "Anrede: ", "")
                                    .Range("B" & xlRange) = Replace(vntTempArray(4), "Titel: ", "")
                                    .Range("C" & xlRange) = Replace(vntTempArray(5), "Vorname: ", "")
                                    .Range("D" & xlRange) = Replace(vntTempArray(6), "Nachname: ", "")
                                    .Range("E" & xlRange) = Replace(vntTempArray(7), "Praxis: ", "")
                                    .Range("F" & xlRange) = Replace(vntTempArray(8), "Strasse: ", "")
                                    .Range("G" & xlRange) = Replace(vntTempArray(9), "PLZ/Ort: ", "")
                                    .Range("H" & xlRange) = Replace(vntTempArray(10), "Telefon: ", "")
                                    .Range("I" & xlRange) = Replace(vntTempArray(11), "E-Mail: ", "")
                                    .Range("I" & xlRange) = Replace(vntTempArray(12), "Teilnehmer: ", "")
                          End With
                        .Save
                        .Close
                     End With
                .Quit
        End With

ende:


xlRange = 0
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub


VBA/HTML - CodeConverter für Office-Foren, AddIn für Office 2002-2013 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:mumpel

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß, René
Antworten Top
#5
Danke mumpel,

bin schon wieder fazsiniert wie das so geht. Aber ich als Laie, der das das erste mal tut, bin im Moment überfordert mit
"Einen Verweis auf dei Excel Object Library setzen" und was meint er mit Anmeldedaten Eintragen?

Bin ich hier der einzige doofe?
Gruß Kreck2
Antworten Top
#6
Hallo Kreck,

im VBA-Editor hast Du oben bei den Menüs Extras, und das klappst Du auf und dort gibt es die Verweise. Da ist eine lange Liste drin, und Du suchst den betreffenden raus.

In Deinem Verzeichnis Dokumente müsstest Du einen Ordner Ziel anlegen, oder die codezeile entsprechend Deinen Anforderungen ändern.

Das Makro heißt nur Anmeldedaten einfügen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
Okay habe ich alles getan.
Bekomme nun die Info
Fehler beim Kompilieren
Benutzerdefinierter Typ nicht definiert!

TypeOf Application.ActiveWindow Is Outlook.Inspector
Antworten Top
#8
Wo hast Du den Code eingefügt? Der Code gehört in Outlook, nicht in Excel.
Antworten Top
#9
Hallo mumpel,

ich habe einen Ordner angelegt Documents\Ziel\Tester.xlsm
Im VBA Editor: Verweise Häkchen bei Excel 14.0 Objekt Library gesetzt. Wenn ich auf Durchsuchen gehe lässt er mich aber
im Ordner Documents\Ziel\Tester.xlsm nichts speichern. (Name steht im Konflikt mit vorhandenen Modul, Projekt oder vorhandener Objektbibliothek)
Wie soll ich in Qutlook Code einfügen
Antworten Top
#10
Hi,

(06.02.2015, 20:56)Kreck2 schrieb: ich habe einen Ordner angelegt Documents\Ziel\Tester.xlsm
[...]
lässt er mich aber im Ordner Documents\Ziel\Tester.xlsm nichts speichern.

ist das "Tester.xlsm" der Name des letzten Ordners oder eine Excel-Datei? Wenn letzteres, wie willst Du eine Datei in eine Datei speichern?

Code:
.Workbooks.Open Environ("USERPROFILE") & "\Documents\Ziel\Tester.xlsx"

Im Makro ist das "Tester.xlsx" die Excel-Datei, der Pfad hört mit dem "\" auf. Dort oben wird ein "Workbook" = eine Excel-Datei geöffnet.
Antworten Top


Gehe zu:


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