Archivar documentos word en carpetas desde excel

13/02/2008 - 22:38 por Jose | Informe spam
Hola foro:
Esta exposición la he hecho en el grupo de Word pero quisiera saber si es
posible hacerlo con un procedimiento VBA.
Necesito que alguien me ayude con lo siguiente:
En una carpeta que se llama "Archivo general de clientes", tengo 365
documentos de word que necesito guardar en las subcarpetas de cada uno de
los clientes que tambien se encuentran en esta carpeta general. Los
documentos y las carpetas tienen un nombre mas largo pero el principio de
unos y otras es la referencia única de cada cliente. Es un número de 8
dígitos seguido de un "-" y luego nombre, población, etc... creo que lo
importante son esos 8 dígitos primeros.
Hice algo parecido con fichas de clientes en excel y pude conseguir archivar
las fichas en las subcarpetas aunque la diferencia con lo que necesito ahora
es que al mismo tiempo abría la carpeta y archivaba la ficha. Ahora es
diferente porque las carpetas ya están creadas...
Estoy pensando en un procedimiento que "metiera/archivara" en cada
subcarpeta cuyo nombre empieza por un número de 8 digitos, p.e. "71000123"
el correspondiente documento de word (formato RTF) cuyo nombre empieza con
ese mismo número, es decir: "71000123-patatinpatatan.rtf" y así
sucesivamente.
Si es posible, cuando la subcarpeta no exitiera la creara con el mismo
nombre del documento word y archivara ese documento dentro tambien. (¿con
tratamiento de errores? ... eso sería ya lo máximo).
Gracias por la ayuda.
José Rafael
 

Leer las respuestas

#1 Héctor Miguel
14/02/2008 - 07:07 | Informe spam
hola, Jose !

en tanto comentas detalles mas completos (como un ejemplo de como seria la "ruta completa" del archivo mas largo)...
considera las siguientes alternativas (y algunas "restricciones"... por si las dudas)...

OJO: hablando de nombres de archivos "laarrrrgggosss"... (y hasta donde se)...
-> existe un limite de sistema operativo de +/- 255 caracteres para el largo total de una ruta
lo que incluye: la ruta\unidad y sub\carpetas\el nombre {MAS} la EXTension de tu archivo

para mover/copiar archivos de una ubicacion a otra, puedes usar al menos dos formas:
en los ejemplos, "Origen" y "Destino" son (una cadena de texto que representa)
-> ruta + directorio/s + nombre_archivo + EXT(ension)

1) una instruccion =>Name "Origen" As "Destino"<
a) para renombrar un archivo (mismo directorio) ... los requisitos son ...
(1) que "Origen" EXISTA (y este cerrado) y...
(2) que "Destino" NO EXISTA
(p.e.) Name "C:\Misma ruta\Archivo1.abc" As "C:\Misma ruta\Archivo2.xyz"

b) si "Origen" y "Destino" son diferentes... la instruccion (practicamente) hara lo mismo que...

2) una instruccion =>FileCopy "Origen", "Destino"< en este caso, "Destino" sera INVARIABLEMENTE reemplazado <= OJO

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Esta exposicion la he hecho en el grupo de Word pero quisiera saber si es posible hacerlo con un procedimiento VBA.
Necesito que alguien me ayude con lo siguiente:
En una carpeta que se llama "Archivo general de clientes", tengo 365 documentos de word
que necesito guardar en las subcarpetas de cada uno de los clientes que tambien se encuentran en esta carpeta general.
Los documentos y las carpetas tienen un nombre mas largo pero el principio de unos y otras es la referencia unica de cada cliente.
Es un numero de 8 digitos seguido de un "-" y luego nombre, poblacion, etc... creo que lo importante son esos 8 digitos primeros.
Hice algo parecido con fichas de clientes en excel y pude conseguir archivar las fichas en las subcarpetas
aunque la diferencia con lo que necesito ahora es que al mismo tiempo abría la carpeta y archivaba la ficha.
Ahora es diferente porque las carpetas ya estan creadas...
Estoy pensando en un procedimiento que "metiera/archivara" en cada subcarpeta cuyo nombre empieza por un numero de 8 digitos
p.e. "71000123" el correspondiente documento de word (formato RTF) cuyo nombre empieza con ese mismo numero
es decir: "71000123-patatinpatatan.rtf" y asi sucesivamente.
Si es posible, cuando la subcarpeta no exitiera la creara con el mismo nombre del documento word y archivara ese documento dentro tambien.
(con tratamiento de errores? ... eso seria ya lo maximo).

Preguntas similares