2011-04-08 48 views
6

我試圖爲Outlook 2010創建一個自定義規則,檢查電子郵件的主題,並且如果它使正則表達式被移入特定文件夾。Outlook 2010自定義VBA腳本將傳入郵件消息移動到特定文件夾

然而,當我運行該腳本,我得到以下錯誤,當我嘗試並獲得我想要的郵件移動到該文件夾​​的Outlook.Folder對象:

運行時錯誤「91」:
對象變量或帶塊變量未設置

下面是我使用的檢查郵件主題和郵件移動到指定文件夾,如果它匹配的VBA腳本。

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 

回答

4

你的倒數第二個行需要是

Set GetFolder = ObjFolder 
相關問題