¿Es posible modificar el VBA a de un libro de Excel, desde otro?

Que aunque suene loco, solo saber si es que se puede.

Lo que pasa es que necesito enviar un archivo que ejecuta varios procedimientos a otros pc, pero dentro de los códigos esta la ruta de mi usuario para dejar cosas en el escritorio. Por lo que deseo saber si puedo generar algún procedimiento en un libro para cambiar las rutas que ingrese en el código de otro libro. Si no se puede, ¿alguien me podría dar otra idea de como hacerlo?

2 respuestas

Respuesta
2

Si entendí bien la consulta, tu problema esta en que ahora mencionas una ruta de tu equipo y luego necesitas que sea la ruta del equipo de cada usuario.

Lo que hacemos en esos casos puede ser:

- Utilizar una carpeta común que existe en todo los equipos, como puede ser C:\

- O la carpeta donde se encuentre el libro, no importa donde lo ubique cada usuario, con la instruccion : ThisWorkBook. Path

Elsa,
estos son los códigos que necesito modificar, ya sea desde otro archivo excel, o que me reconozca las rutas automaticamente.
Deben quedar 3 archivos en una misma carpeta, uno que guardo yo desde el código, bajo el nombre de "Archivo2.xlsx".
Workbooks.Add
ChDir "C:\Documents and Settings\jvaldiviav\Escritorio"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\jvaldiviav\Escritorio\Config\TAL\Archivo2.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False

Y el otro (Archivo.xlsx), que abro desde el archivo principal,

Workbooks.Open Filename:= _
"C:\Documents and Settings\jvaldiviav\Escritorio\Config\TAL\Archivo.xlsx" _
, UpdateLinks:=0
La idea es que pueda manipular estos 3 archivos desde cualquier PC, sin que tenga que cambiar las rutas, o que pueda cambiarlas todas desde un archivo principal.

'Deben quedar 3 archivos en una misma carpeta...'

Bien, entonces hay un libro en cierta carpeta con el código que llama a la macro. Y la 1ra parte del código quedaría:

Workbooks. Add
ActiveWorkbook.SaveAs Filename:= ThisWorkBook.Path & "\Archivo2.xlsx", _
FileFormat:= _
XlOpenXMLWorkbook, CreateBackup:=False

Y el otro, que también estará en la misma carpeta se abre con:

Workbooks.Open Filename:= ThisWorkBook.Path & "\Archivo.xlsx" _
, UpdateLinks:=0

De este modo, no importa dónde guardes los 3 libros mientras los guardes a todos en la misma carpeta o dirección.

Sdos!

Respuesta

¿Lo qué quieres es que lo que cambias en tu libro se replique en los libro de otros usuarios?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas