Поделиться через


Получение объекта папки по пути к ней

В этом разделе показана функция, которая принимает путь к папке и возвращает объект Folder , соответствующий указанной папке. Например, если указать путь к папке "Mailbox — Dan Wilson\Inbox\Customers", код в процедуре TestGetFolder отобразит объект Folder, соответствующий папке Customers в папке "Входящие" пользователя Dan Wilson, если она там существует. Если такой папки нет, GetFolder вернет значение Nothing.

Function GetFolder(ByVal FolderPath As String) As Outlook.Folder 
    Dim TestFolder As Outlook.Folder 
    Dim FoldersArray As Variant 
    Dim i As Integer 
 
    On Error GoTo GetFolder_Error 
    If Left(FolderPath, 2) = "\\" Then 
        FolderPath = Right(FolderPath, Len(FolderPath) - 2) 
    End If 
    
    'Convert folderpath to array 
    FoldersArray = Split(FolderPath, "\") 
    Set TestFolder = Application.Session.Folders.item(FoldersArray(0)) 
    If Not TestFolder Is Nothing Then 
        For i = 1 To UBound(FoldersArray, 1) 
            Dim SubFolders As Outlook.Folders 
            Set SubFolders = TestFolder.Folders 
            Set TestFolder = SubFolders.item(FoldersArray(i)) 
            If TestFolder Is Nothing Then 
                Set GetFolder = Nothing 
            End If 
        Next 
    End If 
     
   'Return the TestFolder 
    Set GetFolder = TestFolder 
    Exit Function 
 
GetFolder_Error: 
    Set GetFolder = Nothing 
    Exit Function 
End Function 
 
Sub TestGetFolder() 
    Dim folder As Outlook.Folder 
    Set folder = GetFolder ("\\Mailbox - Dan Wilson\Inbox\Customers") 
    If Not(folder Is Nothing) Then 
        folder.Display 
    End If 
End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.