Datum/Termin in eingehenden Mail finden und in Kalender

Moderator: ModerationP

Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Ichduersieeswir » 19. Aug 2021, 16:57

Hallo Leute
Hat jemand Erfahrung bzw. überhaupt machbar:
Datum/Termin in eingehenden Mail finden und in Kalender als Termin eintragen. Dies hätte den Vorteil, dass Kundentermine nicht verloren gingen.

Gruss
Ichduersieeswir
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 43
Registriert: 03. Jun 2014, 19:12

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Fen » 19. Aug 2021, 17:25

Hallo,

den body einer Email nach einem Datum zu durchsuchen, ist relativ einfach. Zu erkennen, ob dies ein gewünschter Termin für einen Kundenbesuch ist, könnte zu Verwechslungen führen.

Gibt es ein standardisiertes Datumsformat? Oder ist alles möglich?

mfg
Fen
 

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Ichduersieeswir » 19. Aug 2021, 21:14

Hallo danke für die schnelle Antwort.

Es wäre standardisiert.
Beispiel: 19. August um 11.00

Das ist mir bewusst, dass man das Ganze noch mit einigen Schlagworten ausfindig machen muss. Ich denke daran zum Beispiel, dass die Worte "Terminbestätitung" oder "Teamsbesprechnung" wichtige Schlagworte wären, welche im Body gesucht werden müssten.

Ein Datum suchen: Macht man das mit der Funktion datevalue?

mfg
Ichduersieeswir
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 43
Registriert: 03. Jun 2014, 19:12

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Fen » 20. Aug 2021, 07:16

Hallo,

für die Datumssuche würde ich RegEx nutzen. Das Such-Pattern ist so ähnlich:

Code: Alles auswählen
.Pattern = "\d{1,2}\.\s\w+\sum\s\d{2}:\d{2}\b"


19. August um 11.00

mfg
Fen
 

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Fennek » 20. Aug 2021, 11:17

Hallo,

hier ein für "4. April 2021" getester Code:

Code: Alles auswählen
Function fn_Datum(ByVal Tx As String) As String
Dim RR As Object, Tag As Date

RegEx.Pattern = "\b\d{1,2}\.\s\[wä]+\s\d{2}:\d{2}\b"
RegEx.Pattern = "\b\d{1,2}\.\s[\wä]+\s\d{4}\b"

Set RR = RegEx.Execute(Tx)

Tag = RR(0)

fn_Datum = Tag

Set RR = Nothing
End Function


Für Deine Aufgabe würde das für den Email.body durchgeführt. Als Beispiel in Excel siehe die beigefügte Datei.

mfg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
Fennek
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 830
Registriert: 12. Feb 2016, 18:56

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon DerHoepp » 20. Aug 2021, 12:50

Moin,

damit die "93. Bundesjugendspiele 1989" nicht auch zu einem gültigen Treffer führen, würde ich die Matches noch jeweils in ein Datum wandeln, von da wieder in einen String um beides zu vergleichen.

Und noch eine kleine Anmerkung: Fenneks Function würde ich übrigens GetFirstDateStringFromText() benamen, dann sagt der Name schon aus, was er tut. Zudem sei noch darauf hingewiesen, dass .Execute() beim RexExp-Objekt erst nach .Test() aufgerufen werden sollte oder das Ergebnis auf Nothing zu prüfen wäre.

Viele Grüße
derHöpp
DerHoepp
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 9878
Registriert: 14. Mai 2013, 11:08

Re: Datum/Termin in eingehenden Mail finden und in Kalender

Beitragvon Fen » 20. Aug 2021, 13:56

So klappt es auch mit der Zeit:

Code: Alles auswählen
Function fn_GetFirstDateStringFromText(ByVal Tx As String) As Date
Dim RR As Object, Tag As Date

RegEx.Pattern = "\b\d{1,2}\.\s[\wä]+\s\d{4}\s\d{2}[:]\d{2}\b"

If Not RegEx.Test(Tx) Then Exit Function

Set RR = RegEx.Execute(Tx)

Tag = RR(0)

If Tag > Now Then
    fn_GetFirstDateStringFromText = Tag
Else
    fn_GetFirstDateStringFromText = 0
End If
Set RR = Nothing
End Function


Alle Datum (pl) der Vergangenheit werden als 0 zurückgegeben und dürfen nicht in den Kalender eingetragen werden.
Fen
 


Zurück zu Outlook Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste