Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Identificar si archivo esta en uso VBA

| 5 comentarios

Se puede  llegar a determinar si un archivo esta siendo usado a través de la function FileAlreadyOpen. veamos un ejemplo

Function_Archivo en uso

Ejemplo:  Un analista financiero quiere saber si el archivo "creditosbanca.xls" esta siendo usado por otro procesador, para lo cual se emplea la siguiente funcion :

Function FileAlreadyOpen(nomb_archivo As String) As Boolean
' returns True if FullFileName is currently in use by another process
' example:If FileAlreadyOpen("C:\Documentos\creditosbanca.xls") Then

Dim f As Integer
f = FreeFile
On Error Resume Next
Open nomb_archivo For Binary Access Read Write Lock Read Write As #f

Close #f

' If an error occurs, the document is currently open.

If Err.Number <> 0 Then
FileAlreadyOpen = True
'Err.Clear

MsgBox "Error #" & Str(Err.Number) & " - " & Err.Description

Else
FileAlreadyOpen = False

End If

On Error GoTo 0
End Function

Esta nos permite arroja dos resultados : verdadero si el archivo esta siendo usado, y falso si el archivo no esta siendo usado.

También se puede saber si el archivo esta abierto o no , utilizando la siguiente macro. Nos arroja dos posibles mensajes de si el archivo esta abierto o cerrado.
Sub Uso_archivo()
Dim nomb_archivo As String

nomb_archivo = "creditosbanca.xls"

If FileAlreadyOpen(nomb_archivo) Then
MsgBox nomb_archivo & " Abierto", vbOKOnly + vbInformation
Else
MsgBox nomb_archivo & " cerrado", vbOKOnly + vbExclamation
End If
End Sub

5 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.