Outlook 2010 benutzerdefinierte VBA-script zum verschieben von eingehenden E-mail-Nachricht in einen bestimmten Ordner

Ich versuche zum erstellen einer benutzerdefinierten Regel für Outlook 2010, untersuchen Sie den Betreff der E-Mail und wenn es einen regulären Ausdruck, es ist umgezogen in einen bestimmten Ordner.

Allerdings, wenn ich das Skript ausführen, erhalte ich folgende Fehlermeldung, wenn ich versuchen und erhalten eine Outlook.Ordner-Objekt für den Ordner möchte ich die Nachricht verschieben:

Run-time error '91':
Objekt variable oder With-block variable nicht festgelegt

Unten ist die VBA-script, dass ich verwenden, um zu überprüfen Sie die E-Mail-Betreff und verschieben der Nachricht in den angegebenen Ordner, sofern es passt.

Sub MoveToETS(Item As Outlook.MailItem)
    Dim Subject As String
    Subject = Item.Subject

    Dim FolderToMoveTo As Outlook.Folder
    Set FolderToMoveTo = GetFolder("ETS")

    If (CheckSubject(Subject, "^[Project|Bug] (\d+?) - \[[UPDATE|NEW|RESOLVED]\]")) Then
        Item.Move (FolderToMoveTo)
    End If
End Sub

Function CheckSubject(Subject As String, PatternToCheck As String)
    Dim ObjRegExp As RegExp
    Dim ObjMatch As Match

    Set ObjRegExp = New RegExp
    ObjRegExp.Pattern = PatternToCheck

    If (ObjRegExp.Text(Subject) = True) Then
        CheckSubject = True
    End If

End Function

Function GetFolder(ByVal FolderName As String) As Outlook.Folder

    Dim ObjFolder As Outlook.Folder

    Set ObjFolder = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Folders("ETS")

    GetFolder = ObjFolder

End Function

InformationsquelleAutor noxee | 2011-04-08

Schreibe einen Kommentar