🗺️
【VBA】フォルダを選択してフォルダパスを返すコード
複数のエクセルファイルを選択して色々な処理をするとき、フォルダを選択してフォルダパスを変数に入れたいところです。
Function SelectFolder() As String
Dim fileDialog As fileDialog
' FileDialogオブジェクトの初期化
Set fileDialog = Application.fileDialog(msoFileDialogFolderPicker)
With fileDialog
' ダイアログのタイトル設定
.Title = "フォルダを選択してください"
' ファイル選択ダイアログの表示
If .Show = -1 Then
SelectFolder = .SelectedItems(1)
End If
End With
' キャンセルをクリックした場合メッセージを表示
If SelectFolder = "" Then
MsgBox "フォルダを選択してください"
End If
Set fileDialog = Nothing
End Function
使い方
Sub test()
Dim folderPath As String
folderPath = SelectFolder
MsgBox folderPath
End Sub
このコードではMsgBoxに表示させているだけですので、ここをしたい処理に書き換えてください。
Discussion