GetOpenFilename - Trapping Errors
Hi
Many thanks for this response - I found the help on filters useful, too
bw
Tim
"GS" wrote in message
...
Hi Tim,
The example code in VBA Help doesn't work if MultiSelect is set to true.
Setting MultiSelect to TRUE results in VBA expecting an array, even if
it's
only a single selection. You may want to consider the following code (by
John
Walkenbach) if you intent to work with an array of filenames:
Sub GetImportFileName2()
Dim Filt As String
Dim FilterIndex As Integer
Dim FileName As String
Dim Title As String
Dim i As Integer
Dim Msg As String
' Set up list of file filters
Filt = "Text Files (*.txt),*.txt," & _
"Lotus Files (*.prn),*.prn," & _
"Comma Separated Files (*.csv),*.csv," & _
"ASCII Files ((*.asc),*.asc," & _
"All Files (*.*),*.*"
' Display *.* by default
FilterIndex = 5
' Set the dialog box caption
Title = "Select a file to import"
' Get the filename
FileName = Application.GetOpenFilename _
(FileFilter:=Filt, _
FilterIndex:=FilterIndex, _
Title:=Title, _
MultiSelect:=True)
' Exit if dialog box canceled
If Not IsArray(FileName) Then
MsgBox "No file was selected."
Exit Sub
End If
' Display full path and name of the files
For i = LBound(FileName) To UBound(FileName)
Msg = Msg & FileName(i) & vbCrLf
Next i
MsgBox "You selected:" & vbCrLf & Msg
End Sub
HTH
Regards,
GS
|