生徒:先生、フォルダー選択のコードって何ですか?
先生:これは、フォルダーを選ぶためのダイアログを表示するコードやで。ユーザーがフォルダーを選んだら、そのパスを取得するんや。
生徒:どんな仕組みになってるんですか?
先生:まず、FileDialog
っていう機能を使って、フォルダーを選ぶダイアログを表示するんや。msoFileDialogFolderPicker
ってのは、フォルダー選択用のダイアログを指定するための設定やね。
生徒:そのダイアログはどうやって表示するんですか?
先生:dialog.Show
でダイアログを表示して、ユーザーがフォルダーを選ぶと、そのパスがdialog.SelectedItems(1)
に格納されるんや。
生徒:選ばなかったらどうなるんですか?
先生:選ばなかった場合、Else
の部分が実行されて、「フォルダーが選択されませんでした。」ってメッセージが表示されるんや。
生徒:なるほど!それで、選ばれたフォルダーはどう使うんですか?
先生:選ばれたフォルダーのパスは、folderPath
に格納されて、その後の処理で使えるようになるんや。
生徒:じゃあ、これでフォルダーを簡単に選べるってわけですね!
先生:そうやで!選んだフォルダーのパスを使って、色々な操作ができるんや。
Sub フォルダー選択()
Dim folderPath As String
Dim dialog As FileDialog
Dim initialFolder As String
' 初期選択フォルダーを設定
initialFolder = "C:\Users\YourUsername\Documents" ' 任意のフォルダーパスに変更
' フォルダー選択のダイアログを作成
Set dialog = Application.FileDialog(msoFileDialogFolderPicker)
' 初期フォルダーを設定
dialog.InitialFileName = initialFolder
' ダイアログを表示
If dialog.Show = -1 Then
' ユーザーがフォルダーを選択した場合、そのパスを取得
folderPath = dialog.SelectedItems(1)
MsgBox "選択されたフォルダー: " & folderPath
Else
MsgBox "フォルダーが選択されませんでした。"
End If
End Sub