ActiveX common dialog control...
Here is the code and process for installing it. I got this from Tek-Tips a few months ago.
This example uses the Microsoft ActiveX control. The Access Developers handbook has another example.
1) On your form, add a common dialog control
(Insert ¦ ActiveX Control) (Microsoft common dialog control, version 5)
2) Name the control "cdlgOpen"
3) Add a button
4) Name the button "cmdBrowse"
5) Optional: I use either a private or public constant for my default path if you want one.
In General Declaration Section of form (private) or module (public):
Private Const EXISTINGFILE As String = "C:\My Documents\Zips\tasks.xls"
Private Const EXISTINGDIR AS String = "C:\MyDocuments\"
5) Copy and paste the following code on the Click Event of the button (minus the Private & End Sub lines).
==========
Private Sub cmdBrowse_Click()
Dim strNewFile As String
On Error GoTo Browse_Err
With Me.cdlgOpen
'You should only use one of the next two lines if you want to open to either a default file or folder
.filename = EXISTINGFILE 'Comment out if you don't want to open to a default file
'.initdir = ESIXTINGDIR 'Comment out if you don't want to open to a default folder
.CancelError = True
.Filter = "Excel Files (*.xls)¦*.xls¦" 'Can change (i.e. "Word Files (*.doc)¦*.doc¦"

or ("All Files (*.*)¦*.*¦"

see help for other examples
.ShowOpen ' Can use showSave for saving file, same principle
strNewFile = .filename
End With
Browse_Exit:
Exit Sub
Browse_Err:
If Err.Number = 32755 Then
Resume Browse_Exit
Else
MsgBox Err.Number & ": " & Err.Description
Resume Browse_Exit
End If
End Sub
==========
6) Now your variable strFile will represent your file and you can do whatever you want with it at that point.
If your default paths have the possibility of changing, you might consider putting them into a table or .ini file and retrieving them. This will allow you to change the path without having to adjust your code.
Hope this helps.
ljprodev@yahoo.com
ProDev, MS Access Applications B-)