Visual Basic - Función Dir vba

Life is soft - evento anual de software empresarial
 
Vista:

Función Dir vba

Publicado por Koke (1 intervención) el 07/06/2017 14:30:02
Hola a todos a ver si me puede ayudar alguien.

Tengo el siguiente código con la función Dir, pero no me encuentra el archivo. ¿Alguien sabe que hago mal?

1
FileCopy Dir(Ruta & Cliente & "\Productos_ACC\" & Codigo & "\Doc\" & Cod & "." & VersionAnterior & ".*" & ".pdf"), Ruta & Cliente & "\Productos_ACC\" & Codigo & "\Doc\0_Obsoleto_ACC" & "\" & Cod & "." & VersionAnterior & "." & NumVer & ".pdf"

Muchas gracias!
Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 4.001
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Función Dir vba

Publicado por Andres Leonardo (1674 intervenciones) el 07/06/2017 15:54:30
Hola

Bueno koke .. como no tenemos tu maquina y tu archivo no podriamos ver ... yo re recomiendo esto


1
2
3
4
5
6
7
8
dim X,Y as String
X= Ruta & Cliente & "\Productos_ACC\" & Codigo & "\Doc\" & Cod & "." & VersionAnterior & ".*" & ".pdf"
Y = Ruta & Cliente & "\Productos_ACC\" & Codigo & "\Doc\0_Obsoleto_ACC" & "\" & Cod & "." & VersionAnterior & "." & NumVer & ".pdf"
 
debug.print X  ' o un msgbox X  ' con esto te dara la ruta que esta intentando copiar y puedes ver si es correcto 
debug.print Y  ' o un msgbox y   'Esta solo es para ver si la ruta a la que quieres copiar es correcta
 
FileCopy  x,y

Espero te ayude.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función Dir vba

Publicado por koke (1 intervención) el 07/06/2017 19:44:41
Hola Andres.

Muchas gracias por tu respuesta, lo que me ocurre es que quiero buscar un archivo en el que tenga cualquiera valor por eso tengo el *, pero no me reconoce ninguno.

Utilice la función Dir, he visto ejemplos pero a la hora de la verdad no doy cnon ello.

Te agradecería tu ayuda.

Muchas gracias.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 4.001
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Función Dir vba

Publicado por Andres Leonardo (1674 intervenciones) el 07/06/2017 20:59:00
oK Seria Algo asi ....

'Create una ruta en c:\Prueba y luego creas varios txt llamados a,b,c,d,e,.txt todos

este recorre la ruta y en mi caso los va mostrando y eliminando ...
tu deberias copiarlos y eliminarlos....

Deberias definir bien cual es tu ruta (Creo que tu armas tu ruta con variables dependiendeo de otras cosas.. pero es valido igual)
y el en filtro deberias ver que sea *.pdf
Alguna duda me avisas.

**Creo que mas tu error es la novedad por la concatenacion de nombres... mas que otra cosa...

1
2
3
4
5
6
7
8
Private Sub Command1_Click()
Ruta = "C:\Prueba\"
Filtro = "*.txt"
While Dir(Ruta & Filtro) <> ""
    MsgBox Dir(Ruta & Filtro)
    Kill Ruta & Dir(Ruta & Filtro)
Wend
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 1.199
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Función Dir vba

Publicado por Antoni Masana (433 intervenciones) el 08/06/2017 11:10:49
Este codigo que te pongo es lo que Andres te dijo que hicieras y no has hecho, con unos retoques.

Copialo y pegalo a tu libro. Ejecutalo y mira si lo que da coincide con lo que quieres hacer.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub mirar()
    dim X as String,Y as String, Direc as String
 
   Direc = Ruta & Cliente & "\Productos_ACC\" & Codigo
 
    X = Direc & "\Doc\" & Cod & "." & VersionAnterior & ".*" & ".pdf"
    Y = Direc & "\Doc\0_Obsoleto_ACC" & "\" & Cod & "." & VersionAnterior & "." & NumVer & ".pdf"
 
    ' ---&---  Con esto verás el contenido de la variable X e Y y podrás ver si las rutas son correctas.
 
    MsgBox "Origen:  " & X
    MsgBox "Destino: " & Y
End Sub
FileCopy  x,y

No es o mismo esto:
1
2
Ruta = "C:"
Cliente = "Pepito"

Que esto:
1
2
Ruta = "C:\"
Cliente = "Pepito"

Nosotros no sabemos que directorios tienes, donde tienes los ficheros PDF y el contenido de las 5 variables que utilizas.

Si ejecutas esto y no ves el error tienes que enviar:

El contenido de X
El contenido de Y
y la estructura de directorios.

Para esto último puedes usar estas instrucciones:

1
TREE | CLIP

Esto lo deja en el portapapeles para que lo copies en el mensaje

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar