2011-04-08 10 views
6

Estoy tratando de crear una regla personalizada para Outlook 2010 que inspeccione el tema del correo electrónico y si se convierte en una expresión regular se mueve a una carpeta específica.Script de VBA personalizado de Outlook 2010 para mover el mensaje de correo entrante a una carpeta específica

Sin embargo cuando corro el guión me sale el siguiente mensaje de error cuando intenta conseguir un objeto Outlook.Folder para la carpeta que desea mover el mensaje a:

en tiempo de ejecución de error: '91'
variables objeto o variable de bloque no establecida

a continuación se muestra la secuencia de comandos de VBA que estoy usando para comprobar el asunto del correo electrónico y mover el mensaje a la carpeta especificada si coincide.

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 

Respuesta

4

Su penúltima línea tiene que ser

Set GetFolder = ObjFolder 
Cuestiones relacionadas