So ganz passt es noch nicht:
Sub d_Pattern()
Dim RegEx As Object, EML As MailItem, Itm As Items
If RegEx Is Nothing Then Set RegEx = CreateObject("vbscript.regexp")
Dim Nsp As NameSpace: Set Nsp = Application.GetNamespace("MAPI")
Dim IBx As Folder: Set IBx = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
Set Itm = IBx.Items
If Itm.GetLast.Class <> olMail Then Exit Sub
Set EML = Itm.GetLast
'Debug.Print EML.Subject, EML.SenderEmailAddress, EML.Body
Artikel = fn_Artikel(EML.Body, RegEx)
Auftrag = fn_Auftrag(EML.Body, RegEx)
Project = fn_Project(EML.Body, RegEx)
Debug.Print "Art", Artikel
Debug.Print "Auftrag", Auftrag
Debug.Print "Project", Project
End Sub
Function fn_Artikel(ByVal Body As String, RegEx As Object) As String
RegEx.Pattern = "\b[A-Z]\d{5}\b"
Set RR = RegEx.Execute(Body)
If RR.Count > 0 Then
fn_Artikel = RR(0)
End If
End Function
Function fn_Auftrag(ByVal Body As String, RegEx As Object) As String
RegEx.Pattern = "\b[1|2|3]\d{5}"
Set RR = RegEx.Execute(Body)
If RR.Count > 0 Then
fn_Auftrag = RR(0)
End If
End Function
Function fn_Project(ByVal Body As String, RegEx As Object) As String
RegEx.Pattern = "\bBA\d{5}[\.\d]{0,3}\b"
Set RR = RegEx.Execute(Body)
If RR.Count > 0 Then
Debug.Print RR.Count
fn_Project = RR(0)
End If
End Function
|