averiguar si un fichero esta en uso

raulcg79
16 de Septiembre del 2004
Necesito averiguar en visual Basic, si un fichero está en uso por una aplicación que se cual es.
Para averiguarlo, no puedo intentar borrarlo o renombrarlo para que me de error y tratarlo, debería ser de otra forma pero no consigo averiguarla.
Por favor echarme una mano!!!!!

semper
16 de Septiembre del 2004
No puedes intentar borrarlo o renombrarlo... Pero...

Puedes tratar de abrirlo para lectura en forma EXCLUSIVA y tratar el error en caso necesario...

Un ejemplo:

Private Sub AbrirArchivo()

Dim nFile as integer
nFile = FreeFile()

On Error GOTO Error_Archivo

Open ("C:Mi_archivo.txt") For Input Lock Read As nFile
msgbox "Archivo No Esta En Uso !!"
Close nFile
Exit Sub

Error_Archivo:
If Err.number = 70 then
msgbox "Archivo En Uso Por Otro Usuario/Proceso"
Elseif Err.Number = 53 then
msgbox "Archivo No Existe !"
Else
msgbox "Error (" & err.number & ") " & err.Description
EndIf

Exit Sub

End Sub