0

我想打开一个对话框,用户可以:

  • 选择一个文件夹
  • 按字母顺序对条目进行排序
  • 查看文件和文件夹

我正在尝试使用 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").

想法?

4

1 回答 1

1

简短的回答:不。没有办法允许用户选择文件夹或文件。我想大多数人都会同意这是一件好事。

你说得对 - 使用msoFileDialogFilePicker显示所有文件夹和文件。如果您愿意,您可以只使用文件选择器,如果您真的需要,解析文件名以获取文件夹路径。

于 2011-11-19T02:10:44.457 回答