** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - nombre de archivo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradonombre de archivo

 Responder Responder
Autor
Mensaje
matasl Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Diciembre/2019
Localización: Costa Rica
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Tema: nombre de archivo
    Enviado: 18/Enero/2024 a las 19:57
 Hola, hola para todos y feliz año

Esoy elaborando un código que ocupa el siguiente procedimiento para dar el nombre del archivo

cCarpeta = ActiveWorkbook.Path & "\"

cNombreArchivo = Dir(cCarpeta & "Z01*" & "*.xl*")

pero al llegar a la segunda opcion me da el problema:  

Nombre o número de archivo incorrecto (error 52)


llevo mucho rato tratando de encontrar dónde está mi error, pero no lo consigo. Agradezco cualquier ayuda al respecto, muchas gracias.

Bendiciones
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: en línea
Puntos: 14702
Enlace directo a este mensaje Enviado: 19/Enero/2024 a las 10:26
Hola,

¿Visual Basic Clásico? Mas bien me suena a Excel. Muevo el hilo.

En cuanto al problema específico, evalúa:
1. Que ActiveWorkbook.Path devuelve algo. Si el fichero está creado a partir de una plantilla con macros, ese valor creo que está vacío mientras no se salve el fichero. Pon un punto de interrupción y evalúa el contenido de cCarpeta
2. La instrucción Dir acaba concatenando 2 * seguidos. Pensaba que podría ser un problema pero, en mi caso, no es así. Adicionalmente (por si acaso) indica que lo que evalúas es un fichero: Dir(laruta, vbArchive)

El error 52 se produce habitualmente cuando la carpeta de destino es inaccesible. Es, cuando menos, raro.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
matasl Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Diciembre/2019
Localización: Costa Rica
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 19/Enero/2024 a las 19:19
Muchas gracias por atender mi duda.

1. ActiveWorkbook.Path si me devuelve la dirección de la carpeta

2. Efectivamente la instrucción "Dir" concatena dos parámetros. Inicialmente si me funcionó, pero fue luego de que apagué la PC y al día siguiente intenté terminar el código y me presentó el error que les comento. He intentado usar "/" y "\" para ver si ese fue el error; pero no he logrado resolver que sucede.


"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5968
Enlace directo a este mensaje Enviado: 20/Enero/2024 a las 12:54

Parece que lo que pretendes es: buscar un archivo (contenido en la carpeta donde se ubica el libro activo) cuyo nombre empieza por Z01 y obtener su nombre + extensión.



En un libro nuevo incluí este código (no afecta, pero no es necesario "doble asterisco")...


Sub algo()

  Dim cCarpeta$, cNombreArchivo$

  'cCarpeta = ActiveWorkbook.Path & "\"

  'cNombreArchivo = Dir(cCarpeta & "Z01*" & "*.xl*")

  cCarpeta = ActiveWorkbook.Path & "\"

  cNombreArchivo = Dir(cCarpeta & "Kl*" & ".xl*")

  Debug.Print cNombreArchivo

End Sub


... lo guardé en una carpeta donde tengo un archivo cuyo nombre es Klondike, luego ejecuté el código y en la ventana Inmediato (Debug.Print) me devolvió Klondike.xlsm, sin ningún tipo de problema.


 Asegúrate de que en tu carpeta exista (al menos) un archivo de nombre Z01???.xls? .






Editado por AnSanVal - 20/Enero/2024 a las 12:57
Saludos desde Tenerife.
Arriba
matasl Ver desplegable
Habitual
Habitual
Avatar

Unido: 03/Diciembre/2019
Localización: Costa Rica
Estado: Sin conexión
Puntos: 113
Enlace directo a este mensaje Enviado: 08/Febrero/2024 a las 04:23
Muchisimas gracias por la colaboración, sollucionado.

Procedo a cerrar el tema.

Pura vida
"En el proceso de aprendizaje no basta con la intención de enseñar, debe también haber intención de aprender"


Pura vida.
Muchas gracias
Bendiciones.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable