Я хочу открыть диалоговое окно, в котором пользователь может:
- выберите папку
- сортировка записей по алфавиту
- см. Файлы и папки
Я пытаюсь использовать VBA Application.FileDialog для выполнения текущего кода следующим образом:
Sub makeFileDialog()
Dim dialog As FileDialog
Dim result As String
Set dialog = Application.FileDialog(msoFileDialogFolderPicker)
With dialog
.InitialFileName = "c:\"
.InitialView = msoFileDialogViewDetails
If dialog.Show = -1 Then
result = .SelectedItems.Item(1)
Else
result = ""
End If
End With
debug.print result
End Sub
Это позволяет мне выбрать папку, но .InitialView
установлен неправильно - кнопка просмотра недоступна, а список папок не разбит на столбцы для сортировки. Я думаю, что .InitialView
нельзя установить с помощью msoFileDialogFolderPicker
. Кроме того, имена файлов не отображаются.
Я попытался изменить параметр FileDialog
на msoFileDialogFilePicker
, что позволило мне использовать представления и показанные файлы, но при этом я не могу выбрать и вернуть папку.
Я видел в сети решение, которое использует CreateObject("Shell.Application")
, но диалог, созданный оболочкой, не очень гибок и не предлагает много информации о каждом файле.
Идеи