Ich habe diese VBA gefunden und würde Sie gerne umbauen so daß ich meine Mails von EBAY in eine Text Datei umwandeln kann und diese dann in Excel einlesen und dann verwenden kann. Leider habe ich nicht sehr viel Ahnung und würde mich freuen wenn mir jemand erklären könnte wie ich die Makros verändern muß daß Sie funktionieren. Müssen die Mails in einem bestimmten Verzeichnis sein oder woher weiß das Makro wo es suchen muß. Oder wie die Mails heißen die es Umwandeln soll. Ich wäre dankbar für jede Hilfe
Vielen Dank und einen schönen Abend
Tanja
Siehe auch https://www.herber.de/forum/archiv/24to28/t26281.htm
als Beispiel die etwas verkürzten VBA-Routinen, die bei Eingang einer Excel-CD-ROM-Bestellung greifen:
Die per Email einkommenden Daten werden als Textdatei in ein normales Verzeichnis exportiert.
Private Sub SaveMessage(intNr As Integer)
Dim appOutLook As Outlook.Application
Dim msgOutlook As MailItem
Dim nSpace As Outlook.NameSpace
Dim folderOutlook As Outlook.MAPIFolder
Set appOutLook = CreateObject("Outlook.Application")
Set nSpace = appOutLook.GetNameSpace("MAPI")
Set folderOutlook = nSpace.Folders("Persönliche Ordner")
If folderOutlook.Items.Count = 0 Then
Beep
MsgBox "Keine Bestellung vorhanden!"
Set appOutLook = Nothing
End
End If
folderOutlook.Items(folderOutlook.Items.Count).SaveAs _
"c:\buchhaltung\rechnungen\bestellungen\bstCD" & _
CStr(intNr) & ".txt", olTXT
folderOutlook.Items(folderOutlook.Items.Count).Move _
nSpace.Folders("Persönliche Ordner").Folders("Erledigte")
Set appOutLook = Nothing
End Sub
Das Einlesen der Daten erfolgt dann ebenfalls über eine VBA-Routine:
Function TextEinlesen(intNr As Integer)
Dim arrDaten(1 To 9) As String
Dim strTmp As String
Close
Open "c:\buchhaltung\rechnungen\bestellungen\bstCD" _
& CStr(intNr) & ".txt" For Input As #1
Do While Not EOF(1)
Input #1, strTmp
Select Case Left(strTmp, 4)
Case "Emai"
arrDaten(1) = Right(strTmp, Len(strTmp) - 9)
Case "Name"
arrDaten(2) = Right(strTmp, Len(strTmp) - 9)
Case "Vorn"
arrDaten(3) = Right(strTmp, Len(strTmp) - 9)
Case "Stra"
arrDaten(4) = Right(strTmp, Len(strTmp) - 9)
Case "PLZ:"
arrDaten(5) = Right(strTmp, Len(strTmp) - 9)
Case "Ort:"
arrDaten(6) = Right(strTmp, Len(strTmp) - 9)
Case "Art:"
arrDaten(7) = Right(strTmp, Len(strTmp) - 9)
Case "Land"
arrDaten(8) = Right(strTmp, Len(strTmp) - 9)
Case "Quel"
arrDaten(9) = Right(strTmp, Len(strTmp) - 9)
End Select
Loop
Close
TextEinlesen = arrDaten
End Function
Das so erstellte Array kann dann zum Rechnungschreiben, Eintragen in Kunden- und Rechnungsliste usw. weiterverwertet werden.