|
Responder
|
| Autor | |
matasl
Habitual
Unido: 03/Diciembre/2019 Localización: Costa Rica Estado: Sin conexión Puntos: 113 |
Tema: nombre de archivoEnviado: 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. |
|
![]() |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14926 |
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
|
|
![]() |
|
matasl
Habitual
Unido: 03/Diciembre/2019 Localización: Costa Rica Estado: Sin conexión Puntos: 113 |
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. |
|
![]() |
|
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador
Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5990 |
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.
|
|
![]() |
|
matasl
Habitual
Unido: 03/Diciembre/2019 Localización: Costa Rica Estado: Sin conexión Puntos: 113 |
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. |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |