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.
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.
B) se crea y declaramos una variable que va a guardar la ruta de nuestro archivo.
C) obtenemos la ruta del archivo que vamos a abrir y aplicamos filtros para que nos muestre solo archivos de Excel.
D) Evaluamos si la ruta que tenemos en la variable MiArchivo es correcta, y si es válida, abrimos el archivo
E) Cerramos nuestra macro.
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.
B) colocamos "Application.FindFile"
C) Cerramos nuestra macro.
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.
B) se crea y declaramos una variable va a guardar nuestro objeto FileDialog
C) establecemos nuestra referencia de objeto de la ventana abrir con SET
D) Para realizar la serie de configuraciones de nuestra ventana utilizaremos un with
E) introducimos las configuraciones de nuestra ventana.
E) cerramos nuestro with
F) Cerramos nuestra macro.
4. Al final nuestra macro va a quedar de la siguiente manera:
método 1:
método 2:
método 3:
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
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