La versión de Microsoft Office Access 2003 y posteriores implementan el método FileDialog para mostrar un cuadro de dialogo para abrir un archivo en Microsoft Access.

Para poder hacer uso del método es importante referenciar a la Biblioteca de objetos de Microsoft Office XX.0, donde XX es el nombre de la versión interna instalada en tu PC de Office. Office11 es el nombre interno de Office 2003, Office12 de Office 2007 y Office14 para Office 2010 (Microsoft se saltó la version 13, simplemente porque el 13 es un número de mala suerte):

mostrar un cuadro de dialogo para abrir un archivo en Microsoft Access

Existen cuatro tipos de diálogos aunque no todos están soportados por Microsoft Access:

  • 1: msoFileDialogOpen (ppen dialog box)
  • 2: msoFileDialogSaveAs (save As dialog box)
  • 3: msoFileDialogFilePicker (picker dialog box)
  • 4: msoFileDialogFolderPicker (folder picker dialog box)

Ejemplo de código para seleccionar un archivo EXCEL:

  
  Dim OpenDialog As Object
  Set OpenDialog = Application.FileDialog(3) ' = msoFileDialogFilePicker (picker dialog box)
  OpenDialog.AllowMultiSelect = False
  OpenDialog.Title = "Seleccioni un document EXCEL..."
  OpenDialog.Filters.Clear
  OpenDialog.Filters.Add "EXCEL Files", "*.xlsm;*.xls;*.xlsx"
  OpenDialog.Filters.Add "All Files", "*.*"
  OpenDialog.Show

  MsgBox "Numero de archivos seleccionados: " & OpenDialog.SelectedItems.Count
  MsgBox OpenDialog.SelectedItems(1)

Ejemplo de código para seleccionar varios archivos EXCEL:

 
  Dim OpenDialog As Object
  Set OpenDialog = Application.FileDialog(3) ' = msoFileDialogFilePicker (picker dialog box)
  OpenDialog.AllowMultiSelect = True
  OpenDialog.Title = "Seleccioni un document EXCEL..."
  OpenDialog.Filters.Clear
  OpenDialog.Filters.Add "EXCEL Files", "*.xlsm;*.xls;*.xlsx"
  OpenDialog.Filters.Add "All Files", "*.*"
  OpenDialog.Show

  MsgBox "Numero de archivos seleccionados: " & OpenDialog.SelectedItems.Count
  For Each SelectedItem In OpenDialog.SelectedItems
        MsgBox SelectedItem
  Next