VBA Comprobar si existe un archivo o carpeta

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on marzo 1, 2022

VBA le permite comprobar si un archivo o carpeta existe utilizando la función Dir.

Uso del comando Dir para comprobar si existe un archivo

Como hemos mencionado en la introducción, la función Dir nos permite comprobar si un archivo seleccionado existe en el ordenador. Aquí está el código:

Sub ComprobarArchivoExiste ()

Dim NombreDeArchivo As String
Dim ExisteArchivo As String

    NombreDeArchivo= "C:\Archivo de Prueba.xlsx"
    ExisteArchivo= Dir(NombreDeArchivo)

   If ExisteArchivo = "" Then
        MsgBox "El archivo seleccionado no existe"
    Else
        MsgBox "El archivo seleccionado existe"
    End If

End Sub

Primero asignamos la ruta del archivo a la variable NombreDeArchivo. Luego utilizamos la función Dir para obtener el nombre del archivo en la variable ExisteArchivo. Si el archivo existe en el directorio, su nombre se asignará a la variable de cadena ExisteArchivo. Si no existe, ExisteArchivo permanecerá en blanco. Finalmente, aparece el cuadro de mensaje informando si el archivo existe o no.

Uso del comando Dir para comprobar si existe una carpeta

De forma similar a la comprobación de la existencia de un fichero, puede comprobar si existe una carpeta. Sólo hay que añadir un argumento al comando Dir al comando Dir. Veamos el código:

Sub ChequearSiExisteCarpeta()

Dim NombreCarpeta As String
Dim ExisteCarpeta As String

    NombreCarpeta= "C:\Carpeta de Pruebas"
    ExisteCarpeta= Dir(NombreCarpeta, vbDirectory)

    If ExisteCarpeta = "" Then
        MsgBox "La carpeta seleccionada no existe"
    Else
        MsgBox "La carpeta seleccionada existe"
    End If

End Sub

Primero asignamos la ruta de la carpeta a la variable NombreCarpeta. Luego utilizamos la función Dir para obtener el nombre del archivo en la variable ExisteCarpeta. Para comprobar una carpeta, necesitamos añadir el segundo argumento a la función – vbDirecotry. Si la carpeta existe en el directorio, su nombre se asignará a la variable ExisteCarpeta. Si no, ExisteCarpeta permanecerá en blanco.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users! vba save as


Learn More!
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples