Macro para abrir archivos de Excel

16 jun 2020

Macro para abrir archivos de Excel


En muchas ocasiones necesitamos crear una macro que nos ayude a abrir un archivo de Excel, hoy les voy a compartir 3 métodos para lograrlo.

Macro para abrir archivos de Excel

A continuación, les explicare como realizarlo.

1. Abrir el editor Visual Basic para Aplicaciones (VBA).

2. En la cinta de opciones en el menú Insertar… módulo.

3. dentro del módulo podemos utilizar uno de 3 métodos...:

Método 1 Application.GetOpenFileName (ya obsoleto).

este método muestra el cuadro de diálogo Abrir estándar y obtiene un nombre de archivo del usuario sin abrir ningún archivo.

A) Creamos el nombre de nuestra macro.

Sub Abrir_Archivos1 ()

B) se crea y declaramos una variable que va a guardar la ruta de nuestro archivo.

Dim MiArchivo As String

C) obtenemos la ruta del archivo que vamos a abrir y aplicamos filtros para que nos muestre solo archivos de Excel.

MiArchivo = Application.GetOpenFilename(FileFilter:="Archivos de Excel (*.xlsx),*.xlsx", Title:="Por favor, Seleccione un archivo")

D) Evaluamos si la ruta que tenemos en la variable MiArchivo es correcta, y si es válida, abrimos el archivo

If MiArchivo <> "" then
 Workbooks.Open MiArchivo
 End If
E) Cerramos nuestra macro.

End Sub

Método 2 Application.FindFile

Muestra el cuadro de diálogo Abrir y se selecciona el archivo, si el usuario eligió un archivo nos devuelve el valor True, caso contrario, nos devuelve False, este método solo nos permite abrir archivos compatibles con Excel.

A) Creamos el nombre de nuestra macro.

Sub Abrir_Archivos2 ()

B) colocamos "Application.FindFile"

Application.FindFile

C) Cerramos nuestra macro.

End Sub


Método 3 y le mejor de todos. "Application.FileDialog"

Application.FileDialog: Esto proporciona un único objeto que le permite mostrar los cuadros de diálogo (Archivo> Abrir).

A) Creamos el nombre de nuestra macro.

Sub Abrir_Archivos3 ()

B) se crea y declaramos una variable va a guardar nuestro objeto FileDialog

Dim AbrirArchivo As Office.FileDialog

C) establecemos nuestra referencia de objeto de la ventana abrir con SET

Set AbrirArchivo = Application.FileDialog(msoFileDialogOpen)

D) Para realizar la serie de configuraciones de nuestra ventana utilizaremos un with

With AbrirArchivo

E) introducimos las configuraciones de nuestra ventana.

.AllowMultiSelect = False 'opción para seleccionar solo un archivo se cambia a TRUE para seleccionar varios
.Filters.Clear 'es para limpiar los filtros que trae la ventana por default
.Filters.Add "Excel, txt y xml", "*.xlsx, *.txt, *.XML" ' se pueden agregar las extensiones que se necesiten,
.Show ' muestra la ventana
.Execute 'Abre los archivos seleccionados

E) cerramos nuestro with

End With

F) Cerramos nuestra macro.

End Sub

4. Al final nuestra macro va a quedar de la siguiente manera:

método 1:
Sub Abrir_Archivos1()
Dim MiArchivo As String
MiArchivo = Application.GetOpenFilename(FileFilter:="Archivos de Excel (*.xlsx),*.xlsx", Title:="Por favor, Seleccione un archivo")

If MiArchivo <> "" Then
Workbooks.Open MiArchivo
End If

método 2:
Sub Abrir_Archivos2()
Application.FindFile
End Sub

método 3:
Sub AbrirArchivo3()
Dim AbrirArchivo As Office.FileDialog

Set AbrirArchivo = Application.FileDialog(msoFileDialogOpen)

With AbrirArchivo
.AllowMultiSelect = False 'opción para seleccionar solo un archivo se cambia a TRUE para seleccionar varios.
.Filters.Clear 'es para limpiar los filtros que trae la ventana por default.
.Filters.Add "Excel, txt y xml", "*.xlsx, *.txt, *.XML" ' se pueden agregar las extensiones que se necesiten.
.Show ' muestra la ventana.
.Execute 'Abre los archivos seleccionados.
End With

End Sub

0 comments :

Publicar un comentario