Jump to content

Verificar archivo abierto


Janlui

Recommended Posts

Hace 37 minutos , Janlui dijo:

Estoy tratando de implementar : If FileAlreadyOpen(nomb_archivo) Then

Pero me manda error.

Function esArchivoAbierto(rutaAlArchivo As String) As Boolean
  Dim archivo As Byte: archivo = FreeFile: On Error Resume Next
  Open rutaAlArchivo For Binary Access Read Write Lock Read Write As #archivo: Close #archivo
  esArchivoAbierto = Err.Number
End Function

OJO que no todos los tipos de archivo son bloqueados por el sistema para multiples aperturas (p.ej. *.txt y otros, y los *.pdf dependera de la aplicacion que los gestiona)

Link to comment
Share on other sites

Usa esta función:

Quote

Public Sub Test_IsFileOpen()

    Debug.Print CStr(IsFileOpen("R:\Test_File.doc"))

End Sub

Public Function IsFileOpen(ByVal filename As String) As Variant

    On Error Resume Next
    
    '--
    Dim FileNum As Integer
    FileNum = FreeFile()

    '--
    Open filename For Input Lock Read As #FileNum
    Close FileNum
    

    '--
    Dim errnum As Integer
    errnum = Err

    '--
    On Error GoTo 0
    Select Case errnum
      Case 0
        IsFileOpen = False
      Case 70
        IsFileOpen = True
      Case Else
        Error errnum
    End Select

End Function

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Privacy Policy