このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】ダイアログでフォルダを選択させる方法(FileDialog)

今回はダイアログを使ってフォルダを選択させる方法を紹介します。

ファイルを選択させるのならばGetOpenFilename関数で良いのですが、この関数だとフォルダを選択させることはできません。

そこで、フォルダを選択させる方法をサンプルコードとともに紹介したいと思います。

コピペで流用できるようにしたので、ぜひ活用してみてください。

エンジニア転職(PR)
20代まで! ウズカレITは未経験者を募集しています。

ダイアログでフォルダを選択させる方法(FileDialog)

Sub Sample1()
    
    Dim strFldrPath As String
    With Application.FileDialog(msoFileDialogFolderPicker)
        
        'キャンセルされるとShowメソッドはFalseを返す
        If .Show = True Then
            strFldrPath = .SelectedItems(1)
        Else
            MsgBox "キャンセルされました"
            Exit Sub
        End If
    End With
    MsgBox "フォルダパス:" & strFldrPath
End Sub

このプログラムを実行すると画像のようにフォルダを選択するダイアログが表示されます。

そして、選択したフォルダのフルパスがメッセージボックスで表示されます。

またフォルダを選択せず、キャンセルボタンを押したときには処理を途中終了するようにしています。

別の種類のダイアログを表示させる方法

今回はApplication.FileDialogの引数に「msoFileDialogFolderPicker」を使用しました。

この引数を使うとフォルダを選択するダイアログが表示されます。

他にも別の引数を入れると、違う種類のダイアログを表示できるので下表をご覧ください。

名前説明
msoFileDialogFilePicker3[ファイル ピッカー ] ダイアログ ボックス
msoFileDialogFolderPicker4[フォルダー ピッカー ] ダイアログ ボックス
msoFileDialogOpen1[ 開く] ダイアログ ボックス
msoFileDialogSaveAs2[名前を付けて保存] ダイアログ ボックス
MsoFileDialogType

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
VBAの作成依頼はこちらから

《VBA中級者向けの本》
VBA上級者を目指したい人にはパーフェクトExcel VBA一択です。

created by Rinker
技術評論社
¥3,608 (2023/12/01 14:39:59時点 Amazon調べ-詳細)

他の「VBA」の記事はこちらからどうぞ

VBA

Posted by やろまい