フォルダダイアログを表示する構文
フォルダダイアログを表示する構文です(そのまま使用可能)。
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "C:\"
If .Show = True Then
'選択された後の処理を記載。
'選択されたフォルダは「.SelectedItems(1)」で取得できます
Debug.Print .SelectedItems(1)
End If
End With
フォルダダイアログを表示する関数
上の構文を使ってのフォルダダイアログを表示する関数です。
フォルダダイアログを初期表示するフォルダを引数として指定できるようにしています。
引数 defaultFolder: ダイアログの初期表示フォルダ(デフォルト値:”C:\”)
戻り値:選択したフォルダのパス(文字列)、キャンセルした場合空文字(“”)
Public Function showFolderDialog(Optional ByVal defaultFolder As String = "C:\") As String
With Application.FileDialog(msoFileDialogFolderPicker)
'初期フォルダ
.InitialFileName = defaultFolder
If .Show = True Then
'選択したフォルダを戻り値に設定
showFolderDialog = Trim(.SelectedItems(1))
Else
showFolderDialog = ""
End If
End With
End Function
実行例
Dim selectFolder As String
'関数呼び出し&選んだフォルダを変数に格納
selectFolder = showFolderDialog("C:\")
Debug.Print selectFolder ' C:\test