View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Tim Childs Tim Childs is offline
external usenet poster
 
Posts: 128
Default 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