RE:Existecia de un archivo
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