Я ' m пытается создать настраиваемое правило для Outlook 2010, которое проверяет тему электронного письма и, если оно создает регулярное выражение, оно перемещается в определенную папку.
Однако, когда я запускаю сценарий, я получаю следующую ошибку, когда пытаюсь получить объект 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