フォルダ選択ダイアログを表示する|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
BrowseForFolder
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です