Saber si un archivo está en uso o abierto vb6 (Visual basic 6)

Bienvenidos a VerTutoriales.com, en esta ocasión os traigo una función para saber si un archivo está en uso o abierto, aunque visual basic no trae una función específica, nosotros nos creamos un truco, veamos.

Public Function ArchivoEnUso(ByVal sFileName As String) As Boolean
Dim filenum As Integer, errnum As Integer

On Error Resume Next ‘ Turn error checking off.
filenum = FreeFile() ‘ Get a free file number.
‘ Attempt to open the file and lock it.
Open sFileName For Input Lock Read As #filenum
Close filenum ‘ Close the file.
errnum = Err ‘ Save the error number that occurred.
On Error GoTo 0 ‘ Turn error checking back on.

‘ Check to see which error occurred.
Select Case errnum

‘ No error occurred.
‘ File is NOT already open by another user.
Case 0
ArchivoEnUso = False

‘ Error number for «Permission Denied.»
‘ File is already opened by another user.
Case 70
ArchivoEnUso = True

‘ Another error occurred.
Case Else
Error errnum
End Select

End Function

La función ArchivoEnUso, recibe el parámetro sFileName, que trae la ruta completa junto con el nombre de fichero, por ejemplo «c:\facturas\archivo-en-uso.pdf» este fichero se intentará abrir, si da error al abrir, quiere decir que está siendo usado y por tanto devolverá true (está usandose) en cualquier otro caso, devolverá false (no está usándose el archivo)

La función no es más, simplemente llamarla de la siguiente manera: ArchivoEnUso(«c:\directorio\archivo.pdf») y nos devolverá true o false dependiendo de si está en uso o no.

Espero que os sirva!

Comments (8)

  • Mauricio 15 diciembre, 2014

    Excelente aporte, muchas gracias!!!

    Reply
    • videotutoriales 16 diciembre, 2014

      Gracias a tí por comentar este artículo de vb6 🙂

      Reply
  • Ronald 5 marzo, 2016

    Muchas gracias brother..un gran aporte.

    Reply
    • Carlos Dk 5 marzo, 2016

      Nada! agradecido por tu comentario 😉

      Reply
  • Leonardo Donaire 4 octubre, 2019

    ¿No es mas fácil poner el código escrito que un video?

    Reply
    • Carlos Dk 4 octubre, 2019

      Es el código escrito sin vídeo… ¿No es más fácil comentar tras ver el contenido? 😀

      Reply
  • Kraneus 20 julio, 2021

    Me ha resultado muy útil. Gracias

    Reply
    • Carlos Dk 20 julio, 2021

      Me alegro! Un saludo!

      Reply

Leave a comment

Sign in to post your comment or sine up if you dont have any account.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Tu software de gestión


Últimas preguntas:

Logo Dkreativo
Vertutoriales