なんだかGoodVibes

日々の勉強メモです。

フォルダ選択ダイヤログを表示する

こんにちは。
本日のサンプルはファイル選択のダイヤログを表示する方法です。
いくつか方法があるみたいですが、今日は私が作ったサンプルをメモします。

Sub SelectPath()

    Dim ws As Worksheet
    Set ws = ThisWorkbook.ActiveSheet

    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = True Then
            ws.Cells(1,1).Value = .SelectedItems(1)
        End If
    End With
End Sub

すごく簡単にダイヤログを表示することができます。
以下、サンプルの説明です。
まず、操作としては釦押下で選択ダイヤログが表示される。
そして、選択したフォルダのパスをアクティブシートの1行目・1列目に表示します。
今回いちばん大切なのは FileDialogオブジェクトです。

  • msoFileDialogFilePicker:ファイルを選択できるようにする
  • msoFileDialogFolderPicker:フォルダを選択できるようにする

今回は、フォルダを選択できるようにしていますが、ファイルを選択したい場合は
msoFileDialogFilePicker を使えばいいですね。

次のコードはフォルダが選択された場合に
選択されたフォルダのパスを表示するといった内容です。
SelectedItems(1) がパスを示します。

        If .Show = True Then
            ws.Cells(1,1).Value = .SelectedItems(1)
        End If

FileDialogオブジェクトはいくつかプロパティやメソッドがあり
様々なことができそうなので、また使った際はサンプルあげます。