Cuadro de diálogo Abrir archivo de VBA

VBA le permite elegir un archivo para abrir usando el Application.GetOpenFilename método. En este tutorial, aprenderá a abrir un cuadro de diálogo de archivo y establecer parámetros.

Si desea aprender a abrir y cerrar un archivo, puede hacer clic en este enlace: VBA Abrir / Cerrar archivo

Abrir un cuadro de diálogo de archivo en VBA

Si desea abrir un archivo en VBA, primero debe abrir un cuadro de diálogo de archivo para elegir un archivo. Aquí está el código:

123 Dim strFile como cadenastrFile = Application.GetOpenFilename (FileFilter: = "Archivos de Excel (* .xlsx *), * .xlsx *", Título: = "Elija un archivo de Excel para abrir", MultiSelect: = True)

Como puede ver, el método tiene varios parámetros. FileFilter le permite filtrar los tipos de archivos que necesita, en nuestro caso archivos .xlsx.

En el Título parámetro, puede establecer un título para el cuadro de diálogo. Si desea permitir la apertura de varios archivos, debe configurar MultipleSelect a Verdadero. Si no configura este parámetro, solo se puede seleccionar un archivo.

Imagen 1. Abrir un cuadro de diálogo de archivo

Como puede ver en la Imagen 1, aparece el cuadro de diálogo con el título Elija un archivo de Excel. Solo se filtran los archivos de Excel y podemos seleccionar varios archivos.

Abrir un cuadro de diálogo de archivo en una carpeta específica

Si desea abrir un cuadro de diálogo en una carpeta específica, debe usar el método .FileDialog con el parámetro msoFileDialogFilePicker. En el ejemplo, abriremos un cuadro de diálogo en la carpeta C: \ Carpeta VBA. Aquí está el código:

123456789101112131415161718192021 Dim fd como Office.FileDialogDim strFile como cadenaEstablecer fd = Application.FileDialog (msoFileDialogFilePicker)Con fd.Filtros.Borrar.Filtros.Añadir "Archivos de Excel", "* .xlsx?", 1.Title = "Elija un archivo de Excel".AllowMultiSelect = Falso.InitialFileName = "C: \ Carpeta VBA"Si .Show = True EntoncesstrFile = .SelectedItems (1)Terminara siTerminar con

Primero necesitas declarar la variable fd escribe Office.FileDialog y la variable de cadena para la toma de archivos:

12 Dim fd como Office.FileDialogDim strFile como cadena

Después de esto, debe configurar fd para Application.FileDialog (msoFileDialogFilePicker):

1 Establecer fd = Application.FileDialog (msoFileDialogFilePicker)

Ahora, dentro Con fd Terminar con, podemos establecer múltiples parámetros:

1234567 .Filtros.Borrar.Filtros.Añadir "Archivos de Excel", "* .xlsx?", 1.Title = "Elija un archivo de Excel".AllowMultiSelect = Falso

Aquí borramos los filtros de archivos (.Filtros.Borrar) y configúrelo en .xlsx (.Filters.Add "Archivos de Excel", "* .xlsx?", 1).

Además, podemos establecer el título del cuadro de diálogo: .Title = "Elija un archivo de Excel".

Podemos limitar a un usuario a seleccionar solo un archivo por:.AllowMultiSelect = Falso

Para abrir un cuadro de diálogo en la carpeta que queremos, necesitamos poner esta línea del código:

1 .InitialFileName = "C: \ Carpeta VBA"

Al final simplemente abriremos el cuadro de diálogo con todos los parámetros previamente configurados:

12345 Si .Show = True EntoncesstrFile = .SelectedItems (1)Terminara si

Cuando ejecutamos este código, aparece en la carpeta el cuadro de diálogo para la apertura del archivo. C: \ Carpeta VBA:

Imagen 2. Abrir un cuadro de diálogo de archivo en una carpeta específica

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave