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

vérifier si un fichier est ouvert

2 réponses
Avatar
JPG
Bonjour,

Je me sers d'un document Word A.doc en lecture seule que j'enregistre sous
un nom B.doc bien précis. Si le document B.doc est ouvert, c'est le fichier
A.doc qui reste et l'enregistrement de B ne peut pas se faire.

J'accède à A.doc par :
Set oapp = CreateObject("Word.Application")
Et j'enregistre B.doc par :
oapp.ActiveDocument.saveas "B.doc".


Merci beaucoup pour votre aide.

2 réponses

Avatar
FFO
Bonjours
J'ai dégoté sur internet ces 2 codes
le premier à mettre dans un Module global qui teste l'état du fichier:
Function FileLocked(strFileName As String) As Boolean
On Error Resume Next
Open strFileName For Binary Access Read Write Lock Read Write As #1
Close #1
If Err.Number <> 0 Then
FileLocked = True
Err.Clear
End If
End Function
Le deuxième à intégrer en début de ton code :
Dim strFileName As String
strFileName = "c:chemin avec nom du fichier"
' Appel de la function FileLocKed pour tester l'état du fichier.
If FileLocked(strFileName) Then
MsgBox ("Fichier ouvert")
Exit Function
End If

Celà te donne l'information de l'état ouvert de ton fichier
A charge à toi de le fermer avant nouvelle exécution

Je n'ai pas réussi à trouver une fonction qui ferme le fichier ouvert mais
peut être celà te suffit-il

Donne moi tes impressions

Bonjour,

Je me sers d'un document Word A.doc en lecture seule que j'enregistre sous
un nom B.doc bien précis. Si le document B.doc est ouvert, c'est le fichier
A.doc qui reste et l'enregistrement de B ne peut pas se faire.

J'accède à A.doc par :
Set oapp = CreateObject("Word.Application")
Et j'enregistre B.doc par :
oapp.ActiveDocument.saveas "B.doc".


Merci beaucoup pour votre aide.


Avatar
JPG
C'est super merci beaucoup !

Je n'ai pas besoin (pour l'instant) de fermer le fichier, car il ne faut
absolument pas que mon appli le ferme pour ne pas l'écraser après et perettre
à l'utilisateur de l'enregistrer sous un autre nom si nécessaire.

MERCI ENCORE


Bonjours
J'ai dégoté sur internet ces 2 codes
le premier à mettre dans un Module global qui teste l'état du fichier:
Function FileLocked(strFileName As String) As Boolean
On Error Resume Next
Open strFileName For Binary Access Read Write Lock Read Write As #1
Close #1
If Err.Number <> 0 Then
FileLocked = True
Err.Clear
End If
End Function
Le deuxième à intégrer en début de ton code :
Dim strFileName As String
strFileName = "c:chemin avec nom du fichier"
' Appel de la function FileLocKed pour tester l'état du fichier.
If FileLocked(strFileName) Then
MsgBox ("Fichier ouvert")
Exit Function
End If

Celà te donne l'information de l'état ouvert de ton fichier
A charge à toi de le fermer avant nouvelle exécution

Je n'ai pas réussi à trouver une fonction qui ferme le fichier ouvert mais
peut être celà te suffit-il

Donne moi tes impressions

Bonjour,

Je me sers d'un document Word A.doc en lecture seule que j'enregistre sous
un nom B.doc bien précis. Si le document B.doc est ouvert, c'est le fichier
A.doc qui reste et l'enregistrement de B ne peut pas se faire.

J'accède à A.doc par :
Set oapp = CreateObject("Word.Application")
Et j'enregistre B.doc par :
oapp.ActiveDocument.saveas "B.doc".


Merci beaucoup pour votre aide.