我正在使用Application.FileDialog让用户选择一个文件夹,如:
Dim F As FileDialog
Set F = Application.FileDialog(msoFileDialogFolderPicker)
在这种情况下,默认文件夹不包含子文件夹,因此用户看到的是一个空框。理想情况下,对话框不仅会列出文件夹,还会列出禁用/灰显的文件,以便用户能够看到他正在挑选的文件夹的内容。
有没有办法用FileDialog以便宜的方式做到这一点,还是我必须创建自己的表格(呃)?
答案 0 :(得分:1)
以下是我的数据库中的内容。对于 VBA ,我一直在使用它已经有一段时间了。这段代码不我的,我很久以前就在网上找到了它。
Sub Sample()
ret = BrowseForFolder("C:\")
End Sub
Function BrowseForFolder(Optional OpenAt As Variant) As Variant
Dim ShellApp As Object
Set ShellApp = CreateObject("Shell.Application"). _
BrowseForFolder(0, "Please choose a folder", 0, OpenAt)
On Error Resume Next
BrowseForFolder = ShellApp.self.Path
On Error GoTo 0
Set ShellApp = Nothing
Select Case Mid(BrowseForFolder, 2, 1)
Case Is = ":"
If Left(BrowseForFolder, 1) = ":" Then GoTo Invalid
Case Is = "\"
If Not Left(BrowseForFolder, 1) = "\" Then GoTo Invalid
Case Else
GoTo Invalid
End Select
Exit Function
Invalid:
BrowseForFolder = False
End Function