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を選択してみます。
選択したフォルダのパスがメッセージボックスで表示されます。