Vérifier la dispo d'un fichier avant ouverture - VB/VBA/VBS - Programmation
Marsh Posté le 12-07-2006 à 09:10:00
salut thierry,
voici une fonction répondant à tes besoins :
Function LectureSeule(FileName As String) As Boolean
Dim Fs As Object, St As Integer
Set Fs = CreateObject("Scripting.FileSystemObject" )
Set f = Fs.GetFile(FileName)
St = f.Attributes
If St = 1 Or St = 33 Then
LectureSeule = True
Else
LectureSeule = False
End If
End Function
Marsh Posté le 12-07-2006 à 20:44:15
Bonsoir Damine,
Merci pour ta réponse, mais je ne recherche pas à savoir si le fichier est en lecture seule ou non mais s'il est accéssible c'est à dire pas déjà ouvert par un autre utilisateur.
En fait j'ai une application VBA Excel qui met à jour d'autres fichiers Excel et elle doit vérifier avant ouverture qu'ils ne sont pas déjà utilisés par un autre utilisateur.
Marsh Posté le 13-07-2006 à 09:10:54
dans ce cas, cette fonction non testée devrait faire l'affaire
Function IsFileOpen(filename As String)
Dim filenum As Integer, Errnum As Integer
On Error Resume Next
filenum = FreeFile()
Open filename For Input Lock Read As #filenum
Close filenum
Errnum = Err
On Error GoTo 0
Select Case Errnum
Case 0
IsFileOpen = False
Case 70
IsFileOpen = True
End Select
End Function
Marsh Posté le 13-07-2006 à 21:15:20
Merci Dammien,
C'est exactement ce qu'il me fallait ... et cela fonctionne très bien
Bonne soirée
Marsh Posté le 12-07-2006 à 07:11:45
Bonjour,
Existe t-il un moyen en VBA de s'assurer, avant ouverture, qu'un fichier Excel est disponible pour un access en écriture ?
La seule solution que j'ai trouvé actuellement est d'ouvrir le fichier et de vérifier après s'il a été ouvert en Lecture seule.
Merci d'avance