Seleccionar un archivo usando FileDialog
Índice
En una macro o complemento, puede haber ocasiones en las que requiera que el usuario seleccione un archivo. Es posible utilizar el cuadro de diálogo FileDialog estándar para este propósito. El siguiente código está destinado a proporcionar las configuraciones más comunes que puede modificar para satisfacer sus necesidades.
Abra el cuadro de diálogo del archivo para seleccionar un archivo.
Sub selectFile()Dim dialogBox As FileDialogSet dialogBox = Application.FileDialog(msoFileDialogOpen)'Establezca las propiedades de visualización; estas son opcionales'Todas las configuraciones deben aplicarse antes del comando .Show'No permita que se seleccionen varios archivosdialogBox.AllowMultiSelect = False 'Establece el título de DialogBoxdialogBox.Title = "Selecciona un archivo"'Muestra el cuadro de diálogo y genera la ruta completa del archivo y el nombre del archivo. If dialogBox.Show = -1 Then MsgBox "Seleccionaste: " dialogBox.SelectedItems(1)End IfEnd Sub
Seleccionar varios archivos
Si el usuario puede seleccionar más de un archivo, se puede utilizar el siguiente código:
Sub selectFiles()Dim dialogBox As FileDialogSet dialogBox = Application.FileDialog(msoFileDialogOpen)Dim i As Integer'Establezca las propiedades de visualización; estas son opcionales'Todas las configuraciones deben aplicarse antes del comando .Show'Permitir que se seleccionen varios archivosdialogBox.AllowMultiSelect = True'Establecer el título de DialogBoxdialogBox.Title = "Seleccionar un archivo"'Mostrar el cuadro de diálogo'Recorrer cada elemento seleccionado y enviarlo a la ventana inmediataFor i = 1 To dialogBox.SelectedItems.Count Debug.Print dialogBox.SelectedItems( i) Siguiente iEnd Sub
Configurar las opciones de carpeta predeterminadas
'Establezca la carpeta predeterminada en opendialogBox.InitialFileName = "C:UsersmarksDocuments"'Establezca filtros para mostrar solo tipos de archivos específicos; estos son opcionales'Elimine cualquier filtro existente primerodialogBox.Filters.Clear'Agregue más filtros - use; para separar filtros para el mismo nombredialogBox.Filters.Add "Excel workbooks", "*.xlsx;*.xls;*.xlsm"
Nombre del archivo o ruta completa del archivo
A veces desea la ruta completa del archivo del elemento seleccionado
'Mostrar la ruta completa del archivo (nombre del archivo de la carpeta)MgsBox dialogBox.SelectedItems(i)
Otras veces, solo quieres el nombre del archivo (no la carpeta)
'Simplemente muestre el nombre del archivoMsgBox Dir(dialogBox.SelectedItems(1))
Subir
Deja una respuesta