title image


Smiley Standardisierte E-Mails einlesen
das geht z.B. so:



Function GrabMessagesFromInbox()

Const MeineFelder = ",Vorname,Nachname,Straße,Ort,PLZ,Hausnummer,"

Dim oSession As New MAPI.Session, oFolder As MAPI.Folder, _

RS As DAO.Recordset, oMsg As MAPI.Message, I As Long, J As Long, T, S, FeldName As String, _

FeldInhalt As String, Lin As String, SQL As String



oSession.Logon

Set oFolder = oSession.Inbox ' Wenn's nicht der Posteingang ist, wird es komplizierter!

On Error Resume Next

CurrentDb.Execute "DROP TABLE AdressMails"

On Error GoTo 0

CurrentDb.Execute "CREATE TABLE AdressMails " & _

"(Vorname Text,Nachname Text,Straße Text,Ort Text,PLZ Text,Hausnummer Text)"

Set RS = CurrentDb.OpenRecordset("AdressMails", dbOpenDynaset)

For Each oMsg In oFolder.Messages ' durch alle Nachrichten gehen

If InStr(oMsg.Subject, "Adressänderung") > 0 Then

T = oMsg.Text

S = Split(T, vbCrLf)

RS.AddNew

For I = LBound(S) To UBound(S) ' durch alle Zeilen der Nachricht gehen

Lin = S(I)

J = InStr(Lin, ":") ' Trennzeichen in der Zeile?

If J > 0 Then

FeldName = Trim(Left(Lin, J - 1))

FeldInhalt = Trim(Mid(Lin, J + 1))

If InStr(MeineFelder, "," & FeldName & ",") > 0 Then ' gültiges Feld

If FeldInhalt "" Then

RS(FeldName) = FeldInhalt

End If

End If

End If

Next I

RS.UpDate

End If

Next oMsg

RS.Close

Set RS = Nothing



End Function



Verweis auf die CDO.DLL setzen (kommt z.B. mit Outlook, muss aber separat installiert werden - Stichwort: "Collaboration Data Objects" - siehe auch hier: Overview of CDO und Folgeseiten.)


Gruß aus dem Norden
Reinhard


Bitte immer die Access-Version angeben!
DB-Wiki


Wie man Fragen richtig stellt

YaccessAccess-FAQUnd ansonsten: Wikipedia




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: