Pogramar búsqueda en archivos de un directorio de Microsoft Excel

Hola Fernando, soy Luis (zidnebla) me llegó el archivo, lo probé y va de maravilla.
Tan sólo quisiera saber si es posible modificar una cosa:
A veces la búsqueda la tengo que hacer entre cientos de ficheros de un mismo directorio. El nombre de los ficheros los cambio bastante, pero no el de los directorios.
¿Sería posible programarlo de tal manera que busque en todos los archivos de excel de un determinado directorio sin tener que especificar el nombre de cada archivo?
O alguna otra solución que me evite tener que copiar todos los nombres de los ficheros.
Si hay que cambiarlo demasiado, no te molestes, ya me has ayudado bastante. Si ves que la modificación es factible te agradecería muchísimo que me la hicieras llegar.
Gracias por todo espero que sigas bien.

1 respuesta

Respuesta
1
De hecho, había pensado usar una rutina del tipo:
With Application.FileSearch
.LookIn = "C:\Mis Documentos\zidnebla"
.FileType = msoFileTypeExcelWorkbooks
If .Execute() > 0 Then
MsgBox "Hay " & .FoundFiles.Count & _
" archivo(s)."
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
'AQUI TIENES EL NOMBRE DEL ARCHIVO PERO PODRIAS REEMPLAZARLO por la rutina que te mandé anteriormente con algunas modificaciones...
Next i
Else
MsgBox "No se encontró archivo alguno."
End If
End With
---
Sin embargo, la deseché, toda vez que dijiste que cada archivo puede tener distintas búsquedas y reemplazos. Es decir que aún usando esta rutina, deberías indicarle qué cambio hacer en cada archivo.
---
Pero...
Pensé una forma sumamente sencilla de obtener tu lista de archivos sin tener que tipear siquiera uno.
Para esto necesitarás hacer una salida al viejo y querido D.O.S.
En esa pantalla negra, haz un cambio de directorio a aquel donde están tus archivos:
CD\Mis Documentos\zidnebla
Una vez cambiado. Ingresa esta instrucción:
Dir *.xls /B >Archs.txt
En estos dos pasos habrás generado un archivo de texto (Archs.txt) conteniendo los nombres de los archivos de MS Excel en ese directorio.
Abrelo desde MS Excel (Archivo, Abrir, [Archivos de texto], opción "Ancho fijo", "Terminar").
Tendrás a la vista el listado de archivos que podrás copiar y pegar en la hoja "Reemplazos".
Si tuvieran la extensión .xls al final, no es problema ya que la macro que te mandé distingue si la tiene o no. Por tanto, puedes pegarlo como viene del archivo txt y funcionará igual.
Creo que esto te ahorrará bastante tiempo y tendrás la flexibilidad de asignarle el reeemplazo correspondiente a cada archivo.
Un gran abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas