Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fichier "libre"

2 réponses
Avatar
Amydale
je souhaiterais savoir en vb si un fichier (que je n'ai pas ouvert) est
libre : c'est à dire si quelqu'un ne l'a pas déjà ouvert, si j'ai les droits
décrire sur cette partie du disque, etc...
j'arrive pas à trouver !
merci pour votre aide

Sébastien

2 réponses

Avatar
Frédéric Sigonneau
Bonsoir,

Pour savoir si un classeur partagé est déjà ouvert, essaye cette fonction (code
Microsoft) :

Function IsFileOpen(filename As String)
' (code Microsoft :
' http://support.microsoft.com/default.aspx?scid=kb;EN-US;q138621)
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 filename 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
IsFileOpen = False

' Error number for "Permission Denied."
' File is already opened by another user.
Case 70
IsFileOpen = True

' Another error occurred, file is being queried.
Case Else
Error errnum
End Select

End Function

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


je souhaiterais savoir en vb si un fichier (que je n'ai pas ouvert) est
libre : c'est à dire si quelqu'un ne l'a pas déjà ouvert, si j'ai les droits
décrire sur cette partie du disque, etc...
j'arrive pas à trouver !
merci pour votre aide

Sébastien


Avatar
Amydale
wouhaaaaaa ! Ca a l'air de déchirer ! J'essaye ca lundi !!!
Merci beaucoup pour ton aide !!


"Frédéric Sigonneau" a écrit dans le message
de news:
Bonsoir,

Pour savoir si un classeur partagé est déjà ouvert, essaye cette fonction
(code

Microsoft) :

Function IsFileOpen(filename As String)
' (code Microsoft :
' http://support.microsoft.com/default.aspx?scid=kb;EN-US;q138621)
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 filename 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
IsFileOpen = False

' Error number for "Permission Denied."
' File is already opened by another user.
Case 70
IsFileOpen = True

' Another error occurred, file is being queried.
Case Else
Error errnum
End Select

End Function

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


je souhaiterais savoir en vb si un fichier (que je n'ai pas ouvert) est
libre : c'est à dire si quelqu'un ne l'a pas déjà ouvert, si j'ai les
droits


décrire sur cette partie du disque, etc...
j'arrive pas à trouver !
merci pour votre aide

Sébastien