VBAでフォルダパスを取得する

VBAでApplicationオブジェクトのFileDialogを使用することで、フォルダの選択ダイアログボックスを
取得することができます。

Application.FileDialog プロパティ (Excel)

Application.FileDialogでフォルダのパスを取得するコードは以下になります。

 1Function GetFolderPath() As String
 2'###################################################################################
 3'フォルダ選択ダイアログを開き、選択したフォルダの絶対パスの末尾に
 4'\を付加してリターンする
 5'-----------------------------------------------------------------------------------
 6'戻り値:選択したフォルダの絶対パスの末尾に\を付加したもの
 7'###################################################################################
 8  
 9  With Application.FileDialog(msoFileDialogFolderPicker)
10    If .Show Then
11      GetFolderPath = .SelectedItems(1) & "\"
12    End If
13  End With
14
15End Function

GetFolderPath関数に対してテストを行ってみます。

1Sub TestGetFolderPath()
2  
3  Dim folderPath As String
4  folderPath = GetFolderPath
5  MsgBox folderPath
6
7End Sub

フォルダ選択画面が表示されるので、C:\GetFolderPathの中にあるfolderを選択してみます。

選択したフォルダのパスがメッセージボックスで表示されます。

関連ページ