3

How can I put up a "File Open" dialog from some VBA running in Excel?

I'm using Excel 2003.

Community
  • 1
  • 1
AJ.
  • 13,461
  • 19
  • 51
  • 63

2 Answers2

9

You want the Application.GetOpenFilename function. Copying from VBA Object Browser:

Function GetOpenFilename([FileFilter], [FilterIndex], [Title], [ButtonText], [MultiSelect])
Member of Excel.Application

tzot
  • 92,761
  • 29
  • 141
  • 204
2

Add a reference to ComDLG32.OCX and then something like...

Sub PromptForFile()
Dim d As New MSComDlg.CommonDialog

d.Filter = "xls"
d.Filename = "*.xls"
d.ShowOpen

Excel.Workbooks.Open d.Filename

Set d = Nothing
End Sub 
Galwegian
  • 41,475
  • 16
  • 112
  • 158