Excel Avanzado

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

Excel Avanzado
Función CurDir 150x118, Función CurDir

Función CurDir

| 2 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%c3%b3n CurDir 01, Función CurDir

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%c3%b3n CurDir 02, Función CurDir

El resultado para el  caso evaluado será:

Funci%c3%b3n CurDir 03, Función CurDir

 

Elaborado por: Alicia Chauca

2 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.

Deja un comentario

Los campos requeridos estan marcados con *.