Déterminer si un fichier est utilisé en utilisant VBA dans Microsoft Excel
Avec la fonction ci-dessous, vous pouvez déterminer si un fichier est utilisé par un autre processus.
La fonction renvoie True si vous ne pouvez pas obtenir un accès complet au fichier.
Function FileAlreadyOpen(FullFileName As String) As Boolean ' returns True if FullFileName is currently in use by another process ' example: If FileAlreadyOpen("C:\FolderName\FileName.xls") Then... Dim f As Integer f = FreeFile On Error Resume Next Open FullFileName 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