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

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

2024年3月24日

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

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

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

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

VBAが難しいと感じたら
VBAのプロに代わりに作ってもらうのはいかがでしょうか?
ココナラでVBAの作成請負を受け付けています。お気軽にご相談ください。

ダイアログでフォルダを選択させる方法(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

Posted by やろまい