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

comment vérifier si un fichie word est ouvert et le fermer

2 réponses
Avatar
Nicolas
bonsoir,
ci-dessous le code que j'utilise sur un click d'un bouton "visualiser
fichier word" pour ouvrir un fichier word et modifier un signet
Set fs = CreateObject("Scripting.FileSystemObject")
Set appword = New Word.Application
Set Feuille = appword.Documents.Open("D:\FileWord.doc")
appword.Selection.Goto wdGoToBookmark, Name:="DocAR":
appword.Selection.TypeText ("Essai")
appword.ActiveDocument.SaveAs FileName:="D:\FileWord.doc"
appword.Visible = True

lorsque le fichier word est ouvert, l'utilisateur peut, sans le fermer,
revenir sur access puis cliquer sur le bouton "visualiser fichier Word"
dans ce cas une erreur se produit.

je voudrait au moment du click sur le bouton, vérifier si le fichier
"FileWord.doc" est ouvert si oui le fermer puis continuer la procédure...
merci de votre réponse

2 réponses

Avatar
FFO
Salut à toi

Peut être ceci peut faire l'affaire :

Dans module global
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

Dans module d’exécution
Public Function Fichier() As Boolean
Dim strFileName As String
strFileName = "E:CIB RL.doc"
' Appel de la function FileLocKed pour tester l'état du fichier.
If FileLocked(strFileName) Then
MsgBox ("Fichier ouvert")
Exit Function
End If

End Function

sinon tu peux insérer cette ligne dans ton code :

on Error Resume next

Ainsi :

Set fs = CreateObject("Scripting.FileSystemObject")
Set appword = New Word.Application
On Error Resume next
Set Feuille = appword.Documents.Open("D:FileWord.doc")
appword.Selection.Goto wdGoToBookmark, Name:="DocAR":
appword.Selection.TypeText ("Essai")
appword.ActiveDocument.SaveAs FileName:="D:FileWord.doc"
appword.Visible = True

A toi de choisir !!!!!
Avatar
Nicolas
bonsoir FFO merci de ta réponse ;-)


FFO a écrit :
Salut à toi

Peut être ceci peut faire l'affaire :

Dans module global
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

Dans module d’exécution
Public Function Fichier() As Boolean
Dim strFileName As String
strFileName = "E:CIB RL.doc"
' Appel de la function FileLocKed pour tester l'état du fichier.
If FileLocked(strFileName) Then
MsgBox ("Fichier ouvert")
Exit Function
End If

End Function

sinon tu peux insérer cette ligne dans ton code :

on Error Resume next

Ainsi :

Set fs = CreateObject("Scripting.FileSystemObject")
Set appword = New Word.Application
On Error Resume next
Set Feuille = appword.Documents.Open("D:FileWord.doc")
appword.Selection.Goto wdGoToBookmark, Name:="DocAR":
appword.Selection.TypeText ("Essai")
appword.ActiveDocument.SaveAs FileName:="D:FileWord.doc"
appword.Visible = True

A toi de choisir !!!!!