Show file dialog box

G

Guest

I want to open the file dialog box this VBA-code. But, I can't get the code
from help to work, se code below? A compile error occure --> "user
definedtype not defined"

What is missning in the code to open the file dialog box?

Sub Main()

'Declare a variable as a FileDialog object.
Dim fd As FileDialog

'Create a FileDialog object as a File Picker dialog box.
Set fd = Application.FileDialog(msoFileDialogFilePicker)

'Declare a variable to contain the path
'of each selected item. Even though the path is a String,
'the variable must be a Variant because For Each...Next
'routines only work with Variants and Objects.
Dim vrtSelectedItem As Variant

'Use a With...End With block to reference the FileDialog object.
With fd

'Use the Show method to display the File Picker dialog box and
return the user's action.
'The user pressed the action button.
If .Show = -1 Then

'Step through each string in the FileDialogSelectedItems
collection.
For Each vrtSelectedItem In .SelectedItems

'vrtSelectedItem is a String that contains the path of each
selected item.
'You can use any file I/O functions that you want to work
with this path.
'This example simply displays the path in a message box.
MsgBox "The path is: " & vrtSelectedItem

Next vrtSelectedItem
'The user pressed Cancel.
Else
End If
End With

'Set the object variable to Nothing.
Set fd = Nothing

End Sub
 
D

Douglas J. Steele

The FileDialog object comes from the Microsoft Office n.0 Object Library
(where n = 9 for Office 2000, 10 for Office 2002 and 11 for Office 2003).
That reference is not added by default: you need to go into Tools |
References from the VB Editor and add it yourself.

However, rather than using the dialog, which can have problems, most of us
prefer to make API calls directly, as illustrated in
http://www.mvps.org/access/api/api0001.htm at "The Access Web"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top