Macro para obtener la ruta donde se encuentra ubicado el libro

Para continuar con la aplicación de las Propiedades del Objeto Workbook, vamos a utilizar esta vez la Propiedad Path. Seguro en alguna ocasión se nos presenta la necesidad de identificar la ruta del libro de trabajo que estemos utilizando ya sea para un proceso de automatización o para generar un guardado en la misma carpeta a los nuevos libros; es aquí donde toma importancia esta Propiedad Path.

Activeworkbook.path.

Propiedad Path: Con la aplicación de esta propiedad, lo que podemos obtener es la ruta donde se encuentra guardado el libro de trabajo actual o por lo menos el que se encuentra Activo.

Desde Excel abrimos el Editor VBA (Alt + F11), insertamos un Módulo (Clic derecho sobre el proyecto Excel, Insertar, Módulo:

Obtener la ruta de un archivo.

Ingresamos el siguiente código:

Sub ObtenerRutadelLibro()

MsgBox ("La ruta del Libro es " & ActiveWorkbook.Path)

End Sub

Queda de la siguiente manera en el Módulo:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub ObtenerRutadelLibro(), indica el inicio de la macro.
  2. En esta segunda línea se aplica la propiedad Path en un cuadro de mensaje al combinarlo con el Objeto ActiveWorkbook y tomar de éste su Ruta (Path)
  3. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Podemos ejecutar esta macro vinculándola a una autoforma dando clic derecho sobre ésta y seleccionamos la opción Asignar Macro:

Del listado de Macros que aparece seleccionamos ObtenerRutadelLibro; luego clic en Aceptar y ahora al dar clic en la autoforma nos aparece un mensaje informativo como el siguiente:

ruta-archivo-excel

Descargar archivo de ejemplo.

Macro para cambiar ubicación de guardado del libro.

Vamos a continuar con la aplicación del objeto Workbook utilizando sus Métodos y en esta ocasión veremos cómo se puede programar una macro para guardar el libro actual en otra ubicación a manera de copia activa indicando la ruta desde donde queremos seguir trabajando en dicha copia, es decir. Para lograr esto, vamos a utilizar el Método SaveAs

Método SaveAs: Con la aplicación de este método, lo que estamos indicando desde VBA es la opción de Guardar una copia del libro de Excel en la ruta donde se requiera y continuar trabajando desde esta nueva copia

Desde Excel abrimos el Editor VBA (Alt + F11), insertamos un Módulo (Clic derecho sobre el proyecto Excel, Insertar, Módulo:

Ingresamos el siguiente código:

Sub MetodoGuardarComo()

ThisWorkbook.SaveAs "C:\Copia de 2.2.3 Macro para Guardar copia.xlsm"

End Sub

Queda de la siguiente manera en el Módulo:

Veamos lo que significan cada una de las líneas:

  1. La primera línea Sub MetodoGuardarComo(), indica el inicio de la macro.
  2. En la segunda línea estamos utilizando del Objeto Workbooks el Método SaveAs el cual nos permite Guardar una copia del libro de Excel en la ruta que indicamos entre comillas.
  3. La última línea marca el fin (End) de la Macro o Subrutina (Sub).

Al ejecutar la macro, veremos cómo se guarda el libro y continuamos trabajando en la copia generada; probemos asignando la macro a una autoforma con clic derecho Asignar macro:

En la ventana de asignación de macros seleccionamos la macro MetodoGuardarComo, damos Aceptar y probemos dando clic en el botón para ver que efectivamente una copia en la ruta especificada.

Guía Laboral 2024
Conozca sus derechos y obligaciones laborales como trabajador o como empleador, y evítese problemas. Ver más.

Forma de citar este artículo (APA):

Invitado. (2015, junio 2). Macro para obtener la ruta donde se encuentra ubicado el libro [Entrada de blog]. Recuperado de https://www.gerencie.com/macro-para-obtener-la-ruta-donde-se-encuentra-ubicado-el-libro.html

Recomendados.

Compartir este contenido
Compártalo en Facebook Compártalo en Whatsapp
Deje su opinión o su pregunta.
Trataremos de darle respuesta.
Su comentario o pregunta será editada automáticaente por el sistema.

Regístrese para informarle cuando se responda su pregunta.

  1. Sandro agosto 10 de 2022

    Yo cambié ActiveWorkbook.Path por CurDir() y funcionó.

    Responder

Este sitio web utiliza cookies propias y de terceros para ofrecer un mejor servicio. Al seguir navegando acepta su uso.