フォルダ選択ダイアログを表示する|VBA
Shellを使って、フォルダ選択ダイアログを表示する方法です。
BrowseForFolder
の第4引数(vRootFolder
)にパスを指定すると、そのフォルダ配下のみ選択可能になります。その際、末尾に\
が必要です。
例)
shell.BrowseForFolder(0, "保存先フォルダを選んでください", &H1 + &H10, "C:\temp\")
第3引数は、ドキュメント参照。
VBAでは、&を付けてHEX値を書きます。
' フォルダ選択ダイアログを表示する.
Function SelectSaveFolder(ByVal current As String) As String
Dim objShell
Dim objFolder
Set objShell = CreateObject("shell.application")
Set objFolder = objShell.BrowseForFolder(0, "保存先フォルダを選んでください", &H1 + &H10)
If objFolder Is Nothing Then
SelectSaveFolder = ""
Else
SelectSaveFolder = objFolder.Items.Item.Path
End If
End Function