Here's code for selecting a file or a directory
Code for selecting a file
Private Sub cmdFileDialog_Click()
' Requires reference to Microsoft Office 10.0 Object Library.
' Select a file
Dim fDialog As Office.FileDialog
Dim varFile As Variant
'Clear listbox contents.
Me.FileList.RowSource = ""
'Set up the File Dialog.
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
'Allow user to make multiple selections in dialog box
.AllowMultiSelect = True
'Set the title of the dialog box.
.Title = "Please select one or more files"
'Clear out the current filters, and add our own.
.Filters.Clear
.Filters.Add "Access Databases", "*.MDB"
.Filters.Add "Access Projects", "*.ADP"
.Filters.Add "All Files", "*.*"
'Show the dialog box. If the .Show method returns True, the
'user picked at least one file. If the .Show method returns
'False, the user clicked Cancel.
If .Show = True Then
'Loop through each file selected and add it to our list box.
For Each varFile In .SelectedItems
Me.FileList.AddItem varFile
Next
Else
MsgBox "You clicked Cancel in the file dialog box."
End If
End With
End Sub
Code for selecting a folder
Private Sub cmdSelectFolder_Click()
' Requires reference to Microsoft Office 10.0 Object Library.
' Select a Directory
Dim fDialog As Office.FileDialog
Dim varFile As Variant
'Clear listbox contents.
Me.FileList.RowSource = ""
'Set up the File Dialog.
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
'Set the title of the dialog box.
.Title = "Please select a folders"
'Show the dialog box. If the .Show method returns True, the
'user picked at least one file. If the .Show method returns
'False, the user clicked Cancel.
If .Show = True Then
'Loop through each file selected and add it to our list box.
For Each varFile In .SelectedItems
Me.FileList.AddItem varFile
Next
Else
MsgBox "You clicked Cancel in the file dialog box."
End If
End With
End Sub
John Ruff - The Eternal Optimist
