Weiterleiten von Outlook-E-Mails durch Filtern mithilfe von Makroregeln

0

Könnt ihr mir helfen, das folgende Skript zu reparieren? Was ich brauche, ist, wenn der E-Mail-Text <enthält, wird er an meine persönliche E-Mail weitergeleitet. Ich verwende Outlook 2010. Hier ist ein Beispiel für einen E-Mail-Text:

"Das war schnell! Der Neustart des Modems dauerte nur <60 Sekunden."

Wenn es ein Leerzeichen zwischen <und 60 gibt, wird es an meine E-Mail weitergeleitet. Wenn es kein Leerzeichen gibt, wird es nicht weitergeleitet.

Public Sub FWItem(Item As Outlook.mailitem)
    Dim Email As Outlook.mailitem
    Dim Matches As Variant
    Dim RegExp As Object
    Dim Pattern As String

    Set RegExp = CreateObject("VbScript.RegExp")

    If TypeOf Item Is Outlook.mailitem Then

        Pattern = "(\s[<]\s)"
        With RegExp
            .Global = False
            .Pattern = Pattern
            .IgnoreCase = True
             Set Matches = .Execute(Item.Body)
        End With

        If Matches.Count > 0 Then
            Debug.Print Item.subject ' Print on Immediate Window
            Set Email = Item.Forward
                Email.subject = Item.subject
                Email.Recipients.Add "[email protected]"
                Email.Save
                Email.Send

        End If
    End If

    Set RegExp = Nothing
    Set Matches = Nothing
    Set Email = Nothing
    Set Item = Nothing
End Sub

Hier ist das Muster, mit dem ich den E-Mail-Text gefiltert habe:

Pattern = "(\s[<]\s)"

Aber es hat nicht funktioniert.

user734594
quelle
"enthält <" - Wenn Sie nur nach diesem einen Zeichen suchen, sollte Ihr Muster einfach sein "<".
Máté Juhász
Was ist die Frage? Ich meine, Sie haben Code geteilt, aber nicht erklärt, welcher Teil funktioniert / nicht funktioniert.
Dave
Es sieht so aus, als hätten Sie ein zweites Konto erstellt, was sich auch negativ auf Ihre Fähigkeit auswirkt, in Ihrem Thread Kommentare abzugeben und eine Antwort zu akzeptieren. Siehe Wie kann man zwei Konten / Benutzer verknüpfen / zusammenführen / kombinieren / verknüpfen? und / oder ich habe versehentlich zwei Accounts angelegt; Wie füge ich sie zusammen? Anleitungen zum Zusammenführen Ihrer Konten.
DavidPostill

Antworten:

0

Ihre Frage ist unklar. Ich gehe davon aus, dass das Problem beim regulären Ausdruck liegt und nicht, dass die E-Mail nicht gesendet wird (oder aus einem anderen Grund).

Ich denke, dein Muster muss einfach sein

(< )

Also würden Sie in Ihrem Code verwenden

Pattern = "(< )"

Dies entspricht dem <und einem Leerzeichen unmittelbar danach. So wie

<60stimmt nicht überein < 60stimmt überein < 60stimmt überein <60stimmt nicht < Hellostimmt überein stimmt überein

Ich weise auf den letzten Punkt hin, der für mich möglicherweise problematisch ist, wenn jemand die Anführungszeichen aus anderen Gründen verwendet ... <Ende der Nachricht>

Dave
quelle