Búsqueda de una carpeta en VBA
DonGosma
Mensajes publicados
10
Estado
Miembro
-
DonGosma Mensajes publicados 10 Estado Miembro -
DonGosma Mensajes publicados 10 Estado Miembro -
Bonjour,
He tenido un pequeño problema con VBA, ya que necesito abrir un archivo que se encuentra en un directorio y que siempre comienza con PKR_HIJ_1.xls, PKR_HIJ_2.xls, PKR_HIJ_3.xls o PKR_HIJ_4.xls.
Sin embargo, el término HIJ puede cambiar, pero ya he resuelto este problema. El problema surge porque algunas personas quieren agregar comentarios al final de los archivos, como por ejemplo: PKR_HIJ_1___(escalera).xls; por lo que estoy bloqueado, ya que he hecho un bucle que varía el número del 1 al 4, pero no puedo encontrar un archivo si hay un comentario entre paréntesis. ¿Es posible hacer una búsqueda aproximada, por ejemplo, solo con el inicio del archivo?
Gracias de antemano
Configuración: Windows XP / Firefox 3.6.12
He tenido un pequeño problema con VBA, ya que necesito abrir un archivo que se encuentra en un directorio y que siempre comienza con PKR_HIJ_1.xls, PKR_HIJ_2.xls, PKR_HIJ_3.xls o PKR_HIJ_4.xls.
Sin embargo, el término HIJ puede cambiar, pero ya he resuelto este problema. El problema surge porque algunas personas quieren agregar comentarios al final de los archivos, como por ejemplo: PKR_HIJ_1___(escalera).xls; por lo que estoy bloqueado, ya que he hecho un bucle que varía el número del 1 al 4, pero no puedo encontrar un archivo si hay un comentario entre paréntesis. ¿Es posible hacer una búsqueda aproximada, por ejemplo, solo con el inicio del archivo?
Gracias de antemano
Configuración: Windows XP / Firefox 3.6.12
3 respuestas
-
Bonjour,
Primero, gracias por tu respuesta, pero no he podido usarla correctamente en mi código.
Voy a intentar explicarme más claramente:
Estoy haciendo un bucle para el nombre HIJ primero, por lo que varía. Luego, quiero encontrar un archivo llamado PKR_HIJ_n__(comments).xls donde n también varía; sin embargo, los comentarios entre paréntesis cambian para cada archivo, así que quiero abrir los archivos que comienzan con "PKR_HIJ_n" y, de alguna manera, decirle a la computadora que no importa el resto del nombre del archivo; lo había hecho así:
chantier = AZE
For ChiffreUnderscore = 1 To 4
nomfichier = "PKR_" & Chantier & "_" & ChiffreUnderscore & "*.xls"
with application.filesearch
For iSearch = 1 To .FoundFiles.Count ' el bucle continuará mientras encontramos archivos PKR en el disco
If GetFileNameFromPath(.FoundFiles(iSearch)) = nomfichier Then ' si encontramos el archivo buscado gracias a una función creada anteriormente
Workbooks.Open Filename:=.FoundFiles(iSearch), UpdateLinks:=0, ReadOnly:=True
' CÓDIGO QUE TRABAJA en el archivo PKR que acabo de abrir y que en este caso se llamaría primero, por ejemplo, PKR_AZE_1__(comments).xls o PKR_AZE_1_(azerty).xls
end if
next isearch
end with-
Re,
Atención: Filesearch ya no es admitido en XL2007 y puedes tener problemas de portabilidad si tu aplicación está instalada en una computadora con 2007
ver este artículo
https://silkyroad.developpez.com/vba/classefilesearch/
aquí está el principio (no puedo probarlo en un modelo) de un código que busca el libro ignorando los comentarios. una vez encontrado y abierto, salimos de la macro
Sub selecciona_libro() Dim lista, cptr As Integer ReDim lista(0) As String obra = "HIJ" obra = obra & "_" Set dico = CreateObject("Scripting.Dictionary") 'establecer la lista de archivos que comienzan con PKR_obra ruta = "D\......" 'adaptar ChDir ruta fich = Dir("PKR_" & obra & "*.xls") While fich <> "" ReDim Preserve lista(cptr) lista(cptr) = fich cptr = cptr + 1 Wend For indice = 1 To 4 For cptr = 0 To UBound(lista) If lista(cptr) Like "PKR_ " & obra & indice & "*" Then 'verificar la sintaxis del like Workbooks.Open Filename:=lista(cptr) 'ver si concatenar ruta & "\" & lista(cptr) Exit Sub Next Next End Sub
-
-
Hola
ruta = "g:\ mimi\..... " 'ruta del directorio ChDir ruta fich = Dir("PKR_" & "*.xls") While fich <> "" 'código de lo que quieras hacer... fich = Dir Wend End Sub
--
Michel -
Hola,
No entiendo porque mi fichero siempre permanece vacío aunque he verificado que hay archivos con el nombre correcto en la RUTA en cuestión...
Gracias por tu respuesta.-
-
SOLUCIÓN ELIMINADA: tampoco hay tiempo
https://www.developpez.net/forums/d1006697/logiciels/microsoft-office/excel/macros-vba-excel/ouvrir-fichier-excel-dont-nom-partie-fixe-variable/ -
-