次の方法で共有


フォルダー パスからフォルダー オブジェクトを取得する

このトピックでは、フォルダー パスを入力し、このフォルダーに対応する Folder オブジェクトを返す関数について説明します。 たとえば、フォルダー パスとして "Mailbox - Dan Wilson¥Inbox¥Customers" を渡した場合、 TestGetFolder プロシージャのコードが表示する Folder オブジェクトは、Inbox 以下に Customers フォルダーが存在する場合、Dan Wilson の Inbox 以下の Customers フォルダーに対応するものです。 Customers フォルダーが存在しない場合、 GetFolderNothing を返します。

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 のサポートおよびフィードバックを参照してください。