Visual Basic - Existecia de un archivo

Life is soft - evento anual de software empresarial
 
Vista:

Existecia de un archivo

Publicado por Jose Rojas (3 intervenciones) el 24/09/2001 21:03:53
Estoy creando una aplicacion y quiere copiar un archivo, pero antes de copiar quiero saber si el archivo existe, y si existe si es igual al que yo tengo que no lo copie.
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

RE:Existecia de un archivo

Publicado por Javi R.M (27 intervenciones) el 25/09/2001 00:01:24
Hola Jose, no se si lo que quieres decir es que la aplicación te diga si ese archivo que tu buscas existe o no?, pero te voy a intentar echar una mano.

On Error Go To checkerror 'en esta linia le dices que si te da error al buscar el archivo que se vaya a la funcion checkerror

Open "C:\Ruta\del\archivo.txt" For Input As #f
A partir de aquí ...(tu código)

Exit Sub

checkerror: 'funcion que te dice si existe un fichero igual

If Err.Number = 53 Then
MsgBox "No existe ningun archivo con ese nombre", vbOKOnly
End If

Espero que te refieras a esto sino es así vuelve a especificar
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

RE:Existecia de un archivo

Publicado por Javier Pérez (170 intervenciones) el 25/09/2001 12:53:44
Para saber si existe un fichero o no puedes utilizar la forma que ya se ha dado aquí en alguna ocasión (como esta): intentar abrir el fichero y capturar el posible error. Francamente yo creo que es una forma un poco "bruta"; creo que es mucho más sencillo utilizar la función Dir; por ejemplo:

If Dir("c:\ruta\fichero.ext") <> "" Then
' El fichero existe
Else
' El fichero no existe
End If

Por otra parte, para saber si el fichero origen y el destino son iguales puedes hacer uso de las funciones FileLen (obtiene el tamaño de un fichero) y FileDateTime (obtiene la fecha y hora del fichero). Así, salvo cosas un poco raras, podemos hacer:

If FileLen(origen) = FileLen(destino) And _
FileDateTime(origen) = FileDateTime(destino) Then
' Los ficheros son iguales
Else
' Los ficheros son distintos
End If
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