Objeto FileDialog (Office)

Proporciona funciones de cuadros de diálogo de archivos similares a las de los cuadros de diálogo Abrir y Guardar estándar de las aplicaciones de Microsoft Office.

Observaciones

Utilice la propiedad FileDialog para devolver un objeto FileDialog. La propiedad FileDialog se encuentra en cada objeto Application de las aplicaciones de Office. La propiedad toma un único argumento, MsoFileDialogType, que determina el tipo de objeto FileDialog que devuelve la propiedad . Existen cuatro tipos de objeto FileDialog:

  • Cuadro de diálogo Abrir: permite al usuario seleccionar uno o varios archivos que puede abrir a continuación en la aplicación host mediante el método Execute.

  • Cuadro de diálogo Guardar como: permite al usuario seleccionar un solo archivo, con cuyo nombre se puede, a continuación, guardar el archivo actual mediante el método Execute.

  • Cuadro de diálogo Selector de archivos: permite al usuario seleccionar uno o varios archivos. Las rutas de acceso a archivos que el usuario selecciona se capturan en la colección FileDialogSelectedItems.

  • Cuadro de diálogo Selector de carpetas: permite al usuario seleccionar una ruta de acceso. La ruta de acceso que el usuario selecciona se captura en la colección FileDialogSelectedItems.

Cada aplicación host solo puede crea una única instancia del objeto FileDialog. Por tanto, muchas de las propiedades del objeto FileDialog se conservan aunque se creen varios objetos FileDialog. Por consiguiente, asegúrese de haber establecido correctamente todas las propiedades antes de mostrar el cuadro de diálogo.

Ejemplo

Para mostrar un cuadro de diálogo de archivo con el objeto FileDialog, debe usar el método Show. Cuando se muestra un cuadro de diálogo, no se ejecuta ningún código hasta que el usuario cierra el cuadro de diálogo. En el ejemplo siguiente se crea y muestra un cuadro de diálogo Selector de archivos y se muestra cada archivo seleccionado en un cuadro de mensaje.

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 aString, 
 '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 button. 
 If .Show = -1 Then 
 
 'Step through each string in the FileDialogSelectedItems collection. 
 For Each vrtSelectedItem In .SelectedItems 
 
 'vrtSelectedItem is aString that contains the path of each selected item. 
 'Use any file I/O functions that you want to work with this path. 
 'This example 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

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.