我想打開一個對話框,用戶可以在其中:如何在使用FileDialogFolderPicker時設置.InitialView並查看文件?
- 選擇一個文件夾
- 按字母排序
- 看到文件以及文件夾
我試圖使用VBA的應用.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")
的在線解決方案,但由shell創建的對話框不是非常靈活,並且不提供有關每個文件的很多信息。
想法?