Получение объекта папки по пути к ней
В этом разделе показана функция, которая принимает путь к папке и возвращает объект 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 и обратная связь.