【VBA】フォルダを選択するダイアログを表示して、選択されたフォルダパスを取得する

フォルダを選択するダイアログ」を
表示して…

フォルダを選択するダイアログ
フォルダを選択するダイアログ


選択されたフォルダパスを
取得できます!

選択されたフォルダのパスを取得
選択されたフォルダパスを取得
PR

VBAコード

Option Explicit

Sub sample()

    Dim folderPath As String
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        '最初に表示されるフォルダパスを指定
        .InitialFileName = "C:\Users"
        'ダイアログのタイトルを指定
        .Title = "フォルダを選択してください"
        'ダイアログを表示、結果を確認
        If .Show = -1 Then
            '選択されたフォルダパスを取得
            folderPath = .SelectedItems(1)
        End If
    End With
    
    MsgBox "選択されたフォルダパスは" & vbLf & folderPath & vbLf & "です。"
    
End Sub

「Applicationオブジェクト」の「FileDialog」プロパティにより、「FileDialogオブジェクト」を取得します(7行目)。
※パラメーターに「msoFileDialogFolderPicker」を指定することで、「フォルダを選択するダイアログ」になります。

「FileDialogオブジェクト」の「InitialFileName」プロパティに、「最初に表示されるフォルダパス」を指定します(9行目)。
※状況に応じて変更してください。

「FileDialogオブジェクト」の「Title」プロパティに、「ダイアログのタイトル」を指定します(11行目)。

「FileDialogオブジェクト」の「Show」メソッドにより、ダイアログが表示されます(13行目)。
※「OK」ボタンがクリックされた場合、戻り値は「-1」となります。
※「キャンセル」ボタンがクリックされた場合、戻り値は「0」となります。

「FileDialogオブジェクト」の「SelectedItems」プロパティにより、「選択されたフォルダパス」を取得します(15行目)。
※「SelectedItems(1)」により、選択された1つ目のフォルダのパスを取得できます。
※複数のフォルダを選択できるようにした場合、「SelectedItems(2)」で2つ目を取得できます。

※「AllowMultiSelect」プロパティに「True」を指定することで、複数のフォルダを選択できるようになります。
※上記では複数のフォルダを選択できるようにしていません。

PR

実行結果

フォルダを選択するダイアログを表示して、選択されたフォルダパスを取得できました。

実行結果①
実行結果②
実行結果②
PR

参考①

ファイルを選択するダイアログを表示することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「Applicationオブジェクト」の「FileDialog」プロパティ


●「FileDialogオブジェクト」の「InitialFileName」プロパティ


●「FileDialogオブジェクト」の「Title」プロパティ


●「FileDialogオブジェクト」の「Show」メソッド


●「FileDialogオブジェクト」の「SelectedItems」プロパティ


●「FileDialogオブジェクト」の「AllowMultiSelect」プロパティ