2011-11-19 56 views
0

我想打開一個對話框,用戶可以在其中:如何在使用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創建的對話框不是非常靈活,並且不提供有關每個文件的很多信息。

想法?

回答

1

簡答題:不可以。用戶不能選擇文件夾或文件。我認爲大多數人會同意這是一件好事。

你有權利使用msoFileDialogFilePicker顯示所有文件夾和文件。如果您願意,可以使用filepicker,並在需要時解析文件名以獲取文件夾路徑。

相關問題