フォーム
ファイルを選択してテキストボックスに表示する方法を例示しましたが、ファイルを複数選択した場合、テキストボックスには表示しきれません。
この場合、テキストボックスの代わりに下記のようにコンボボックスを活用します。(参考:リストボックスの活用)
フォルダの取得方法
フォームの作成方法は割愛し、下記のようにファイルを複数選択した場合・・・
下記のように、選択したファイルをコンボボックスの情報として持つようにします。
Dim i As Long
'フォルダ選択のダイアログを表示する
With Application.FileDialog(msoFileDialogFilePicker)
'複数選択可
.AllowMultiSelect = True
'フィルター:ファイル種類
With .Filters
.Clear
.Add "Microsoft Excel", "*.xls?"
.Add "text", "*.txt"
.Add "All File", "*.*"
End With
'OKを押した場合
If .Show = True Then
'コンボボックスの情報クリア
With cmbFileName
.Clear
.Text = ""
End With
'選択したファイルをコンボボックスに登録
For i = 1 To .SelectedItems.Count
cmbFileName.AddItem .SelectedItems(i)
Next i
'コンボボックスに登録した情報の先頭を表示
cmbFileName.Text = cmbFileName.List(0)
End If
End With
'フォルダ選択のダイアログを表示する
With Application.FileDialog(msoFileDialogFilePicker)
'複数選択可
.AllowMultiSelect = True
'フィルター:ファイル種類
With .Filters
.Clear
.Add "Microsoft Excel", "*.xls?"
.Add "text", "*.txt"
.Add "All File", "*.*"
End With
'OKを押した場合
If .Show = True Then
'コンボボックスの情報クリア
With cmbFileName
.Clear
.Text = ""
End With
'選択したファイルをコンボボックスに登録
For i = 1 To .SelectedItems.Count
cmbFileName.AddItem .SelectedItems(i)
Next i
'コンボボックスに登録した情報の先頭を表示
cmbFileName.Text = cmbFileName.List(0)
End If
End With