real time web analytics

Cómo abrir archivos de Excel usando VBA (Ejemplos)

Con VBA en Excel, puede abrir fácilmente uno o más archivos de Excel especificando su ubicación.

Esto es posible gracias a la Workbooks.Open método, que toma la ubicación del archivo como argumento y abre ese archivo de Excel.

Puede hacer mucho más con el método Workbooks.Open, como abrir todos los archivos en una carpeta determinada, abrir archivos como de solo lectura, abrir archivos y luego guardarlos con un nombre diferente, etc.

En este tutorial, le mostraré cómo usar VBA para abrir archivos de Excel y todas las cosas increíbles que puede hacer con él.

Libros de trabajo.Método abierto

En Excel VBA, puede usar el método Workbooks.Open para abrir un archivo de Excel, donde debe especificar la ruta del archivo del libro de Excel que desea abrir.

A continuación se muestra la sintaxis del método Workbooks.Open

expression.Open (FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)

Mientras que el método Workbooks.Open puede usar 15 argumentos, en la mayoría de los casos, solo necesitamos usar dos o tres de ellos.

Te mostraré ejemplos que harán más claro cómo usar estos argumentos.

Abrir libro de trabajo especificando la ruta del archivo

Primero veamos cómo abrir un archivo de Excel donde conoce la ruta completa del archivo.

A continuación se muestra el código VBA que abriría un archivo de Excel llamado Ejemplo.xlsx en la carpeta llamada Proyecto en mi sistema:

Sub OpenWorkbook()
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example.xlsx")
End Sub

Tenga en cuenta que la parte del archivo de Excel debe estar entre comillas dobles y debe especificar la ruta completa del archivo, incluido el nombre del archivo y la extensión.

En caso de que Excel no pueda encontrar el archivo en la ubicación que especificó, le mostrará un error como se muestra a continuación.

Error cuando no se encuentra el archivo

Abrir varios archivos de Excel juntos

Si desea abrir varios archivos de Excel usando una sola subrutina, también puede hacerlo (usando varios métodos Workbooks.Open con las rutas de archivo)

A continuación, tengo un código VBA que abriría tres archivos de Excel, donde necesito especificar la ruta para cada archivo en el método Workbooks.Open separado.

Sub OpenMulitpleWorkbook()
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example1.xlsx")
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example2.xlsx")
Workbooks.Open ("C:\Users\sumit\OneDrive\Desktop\Project\Example3.xlsx")
End Sub

Abrir todos los libros de Excel en una carpeta

Si tiene varios archivos de Excel en una carpeta y desea abrir todos los archivos de esa carpeta de una sola vez, puede hacerlo fácilmente con el método Workbooks.Open junto con el simple bucle Do While.

A continuación, tengo un código donde especifiqué la ruta de la carpeta, y cuando se ejecuta este código, revisa cada archivo de Excel en la carpeta y lo abre.

Sub OpenFilesFromFolder()
    Dim wb As Workbook
    Dim FolderPath As String
    Dim FilePath As String
        FolderPath = "C:\Users\sumit\OneDrive\Desktop\Project\"
        FilePath = Dir(FolderPath & "*.xls*")
        Do While FilePath <> ""
            Set wb = Workbooks.Open(FolderPath & FilePath)
            FilePath = Dir
        Loop
End Sub

Abrir archivos de Excel basados ​​en el nombre

Si solo desea abrir archivos de Excel específicos en una carpeta según su nombre, puede modificar el código VBA anterior para hacerlo.

A continuación, tengo un código VBA donde abriría solo los archivos de Excel en las carpetas especificadas que tienen la palabra “Ventas” en el nombre del archivo de Excel.

Sub OpenFilesFromFolder()
    Dim wb As Workbook
    Dim FolderPath As String
    Dim FilePath As String
        FolderPath = "C:\Users\sumit\OneDrive\Desktop\Project\"
        FilePath = Dir(FolderPath & "*Sales*" & ".xls*")
        Do While FilePath <> ""
            Set wb = Workbooks.Open(FolderPath & FilePath)
            FilePath = Dir
        Loop
End Sub

En el código anterior, he usado Dir(FolderPath & “*Sales*” & “.xls*”) como FilePath, donde la palabra Sales está entre asteriscos

.

Esto garantiza que solo se abrirán los archivos con la palabra ‘Ventas’ en el nombre y el resto se ignorará.

Abrir un libro de Excel protegido con contraseña

También puede abrir libros de trabajo protegidos con contraseña especificando la contraseña en el código VBA.

Sub OpenExcelFile()
Workbooks.Open "C:\Users\sumit\OneDrive\Desktop\Project\Example.xlsx", , , Password:="Excel123"
End Sub

A continuación, tengo un código VBA que abriría un archivo de Excel protegido con contraseña, donde la contraseña es Excel123

Abrir archivo de Excel mostrando el cuadro de diálogo Abrir

En los ejemplos cubiertos hasta ahora, he especificado el nombre del archivo o la ruta de los archivos que deben abrirse en el propio código VBA.

Sin embargo, puede usar VBA para abrir el cuadro de diálogo Abrir archivo, donde el usuario puede navegar hasta el archivo y seleccionarlo para abrirlo.

Sub OpenFileDialogBox()
On Error Resume Next
    Dim FilePath As String
    FilePath = Application.GetOpenFilename()
    Workbooks.Open (FilePath)
End Sub
A continuación se muestra el código VBA que mostraría el cuadro de diálogo Abrir, donde el usuario puede seleccionar el archivo y abrirlo.

Abrir cuadro de diálogo de archivo usando VBA Excel

He usado On Error Resume Next en caso de que el usuario decida cerrar el cuadro de diálogo Abrir sin seleccionar ningún archivo. Si no se utiliza esta declaración, mostrará un error.

En este breve tutorial, le mostré un par de formas diferentes que puede usar para abrir libros de trabajo usando VBA en Excel.

Si bien es posible que no use estos códigos para simplemente abrir un archivo de Excel, el concepto podría ser muy útil cuando trabaje en proyectos de VBA más grandes en los que necesite abrir archivos de Excel como parte del código.

Otros tutoriales de Excel que también te pueden gustar:

Leave a Comment