Outlook 2010 custom VBA script to move incoming mail message to a specific folder

15,821

Solution 1

Your last but one line needs to be

Set GetFolder = ObjFolder

Solution 2

In your GetFolder function, you also hard-coded the folder name.

Line reads:

Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Folders("ETS")

Should read:

Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Folders(FolderName)
Share:
15,821
noxee
Author by

noxee

Updated on June 23, 2022

Comments

  • noxee
    noxee about 2 years

    I'm trying to create a custom rule for Outlook 2010 that inspect the subject of the email and if it makes a regular expression it's moved into a specific folder.

    However when I run the script I get the following error when I try and get an Outlook.Folder object for the folder I want to move the message to:

    Run-time error '91':
    Object variable or With block variable not set

    Below is the VBA script that I am using to check the email subject and move the message to the specified folder if it matches.

    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