¿Cómo usar la función CurDir en VBA?

CurDir es una función en Visual Basic for Applications (VBA) que devuelve una cadena que representa el directorio actual o el directorio activo de una unidad especificada.

Aquí te dejo un ejemplo básico de cómo se puede usar la función CurDir para obtener la ruta del directorio actual:

VBA

Sub EjemploCurDir()
    ' Obtener la ruta del directorio actual
    Dim rutaActual As String
    rutaActual = CurDir()

    ' Mostrar la ruta en un cuadro de mensaje
    MsgBox "El directorio actual es: " & rutaActual
End Sub

Si deseas especificar una unidad diferente a la predeterminada (generalmente la unidad donde está el documento en ejecución), puedes pasar la letra de la unidad como argumento a la función CurDir. Por ejemplo:

VBA

Sub EjemploCurDirConUnidad()
    ' Obtener la ruta del directorio actual de la unidad D:
    Dim rutaUnidadD As String
    rutaUnidadD = CurDir("D")

    ' Mostrar la ruta en un cuadro de mensaje
    MsgBox "El directorio actual de la unidad D: es " & rutaUnidadD
End Sub

Ten en cuenta que si la unidad especificada no existe o no está lista para ser leída (por ejemplo, si no hay disco en la unidad de CD o DVD), la función CurDir generará un error. Para manejar estos casos, puede ser útil usar un manejo de errores básico como el siguiente:

VBA

Sub EjemploCurDirConManejoDeErrores()
    On Error Resume Next ' Ignora el error y continua con la siguiente línea
    
    ' Intentar obtener la ruta del directorio actual de la unidad Z:
    Dim rutaUnidadZ As String
    rutaUnidadZ = CurDir("Z")

    ' revisar si hubo un error y actuar en consecuencia
    If Err.Number <> 0 Then
        MsgBox "Error al obtener el directorio de la unidad Z: " & Err.Description
        ' Restablecer objeto Err
        Err.Clear
    Else
        MsgBox "El directorio actual de la unidad Z: es " & rutaUnidadZ
    End If
    
    On Error GoTo 0 ' Restablecer el manejo de errores predeterminado
End Sub

Cuando se usa CurDir, es importante entender que esta función no cambia el directorio de trabajo; simplemente lo devuelve. Para cambiar el directorio de trabajo en VBA, usarías la función ChDir.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

¡Únete a nuestro Grupo de Facebook!

Deja un comentario