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
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.
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
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é
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
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.
Okay habe ich alles getan.
Bekomme nun die Info
Fehler beim Kompilieren
Benutzerdefinierter Typ nicht definiert!
TypeOf Application.ActiveWindow Is Outlook.Inspector
Wo hast Du den Code eingefügt? Der Code gehört in Outlook, nicht in Excel.
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
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.