Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función CurDir

| 3 comentarios

Descripción

Esta función del VB se utiliza tanto en Excel como en Acces, y sirve para devolver una cadena que represente la ruta del directorio actual.

Sintaxis

CurDir (Drive)

Parámetros

Drive

Parámetro opcional. Es una expresión que expecifica una unidad existente. Si no se especifica ninguna unidad o si Drive es una cadena de longitud cero (""), CurDir devuelve la ruta de acceso de la unidad actual

Ejemplo 1

CurDir (D)

Devuelve la ruta de la ubicación del archivo en el disco D:

Función CurDir 01

Ejemplo 2

A continuación se describe, paso a paso, cómo elaborar la función CurDir en el programador de Visual Basic

1) Colocar el encabezado:

Sub funcioncurdir()

2) Colocamos la variable RUTA, y le asignamos el valor del directorio actual:

RUTA = CurDir()

3) Asignamos el valor de la variable RUTA a la celda A40, ubicada en esta hoja:

Worksheets("Hoja1").Range("A46").Value = RUTA

4) Lanzamos un Msgbox con la palabra Listo!:

MsgBox "Listo!"

5) Por último, terminamos el código con End Sub

El código debe verse de la siguiente manera:

Función CurDir 02

El resultado para el  caso evaluado será:

Función CurDir 03

 

Elaborado por: Alicia Chauca

3 comentarios

  1. Hola, cual es la direrencia entre "CurDir" y "ThisWorkbook.Path"?
    A mi entender deberia dar el mismo resultado o no?

    Cuando uso CurDir, lo que obtengo es la ruta donde esta guardado el programa excel, no el archivo como tal I:\Documents\Excel\

    Este es el codigo:
    Sub file_rute()
    ruta = CurDir() & "\"
    Worksheets("sheet1").Range("a1").Value = ruta
    MsgBox "Listo Cur Dir!"
    End Sub
    -------------------------------
    Si uso "ThisWorkbook.Path" si obtengo la ruta donde esta el archivo C:\Users\abraham\Desktop\Macros\

    Este es el codigo:
    Sub file_rute_WPath()
    Worksheets("Sheet1").Range("a1").Value = ThisWorkbook.Path & "\"
    MsgBox "Listo ThisWorkbook.Path!"
    End Sub

    Gracias y saludos

    • Buen día. la diferencia es que al usar el CurDir estas ubicando donde se guarda actualmente, y con ThisWorkbook.Path ubicas donde se encuentra el archivo abierto. por ejemplo, yo utilizo ThisWorkbook.Path para saber la dirección de la carpeta y ChDir para gurdar archivos generados desde el primer libro.

      Saludos.

  2. Hice el ejemplo del codigo curdir() pero cuando la ejecuto siempre me muestra la misma ruta, abro un archivo que este ubicado en algun directorio diferente y cuando ejecuto la macro me sigue mostrando la ruta del directorio anterior.
    Que estara sucediendo ?.

Deja una respuesta

Los campos requeridos estan marcados con *.