2011-04-08 14 views
6

Outlook 2010 için e-postanın konusunu inceleyen bir özel kural oluşturmaya çalışıyorum ve düzenli bir ifade yaparsa, belirli bir klasöre taşındı. Senaryoyu çalıştırdığınızda denemek ve ben mesajı taşımak istediğiniz klasörü için bir Outlook.Folder nesne olsunOutlook 2010 özel VBA komut dosyası belirli bir klasöre gelen posta iletisini taşımak için

Ancak aşağıdaki hatayı alıyorum:

Çalışma zamanı hatası '91':
değişken nesne veya bloğu değişkeni

Aşağıda ben eposta konuyu kontrol ve eşleşirse belirtilen klasöre mesajı taşımak için kullanıyorum VBA script ayarlanmamış.

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 

cevap

4

Sizin son ama bir satır olması gerekiyor

Set GetFolder = ObjFolder 
İlgili konular