Bonjour,
Je me suis inspirée de la Faq, mais j'ai un pb.
Je veux ouvrir un fichier Word après avoir vérifié qu'il n'est pas déjà ouvert ; c'est ce dernier point qui coince.
Voici mon code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub OuvrMopMq()
'ouvre le fichier Word.
'nécéssite d'activer la reference Microsoft word xx.x 0bject Library => OK
Dim Appli As Word.Application
Dim WordDoc As Word.Document
Call Outhé 'alimente les variables : ChemApp Mop (Nom de fichier.docx)
'la procédure vérifie que le fichier word est ouvert
On Error Resume Next
Set Appli = GetObject(, "Word.Application")
Set WordDoc = Appli.Documents(ChemApp & " \ " & Mop)
On Error GoTo 0
'S'il n'est pas déjà ouvert
If WordDoc Is Nothing Then
'ouvre session word
Set Appli = New Word.Application
'ouvre du document Word
Set WordDoc = Appli.Documents.Open(ChemApp & "\" & Mop)
'activation de word
Appli.Visible = True
Else
MsgBox "Le document est ouvert"
End If
End Sub |
à la sortie de
Set WordDoc = Appli.Documents(ChemApp & " \ " & Mop)
WordDoc est toujours nul, même si le fichier est ouvert...
Pendant que j'y suis, si vous pouvez m'aider à remplacer MsgBox "Le document est ouvert" par Activer le document, ce serait un plus.
Merci d'avance
Partager