我想打开一个对话框,用户可以:
- 选择一个文件夹
- 按字母顺序对条目进行排序
- 查看文件和文件夹
我正在尝试使用 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")
.
想法?