Piloter Word depuis Excel VBA

Signaler
Messages postés
7
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
3 avril 2012
-
Messages postés
7
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
3 avril 2012
-
Bonjour,
Je n'ai pas de problème pour ouvrir un fichier Word depuis une macro Excel. Par contre, j'ai un problème pour accéder à un fichier Word déjà ouvert.
Pouvez-vous me donner un exemple de code qui me permet de tester si un document Word est déjà ouvert et si oui comment y accéder. Le tout depuis VBA Excel

Merci

6 réponses

Messages postés
4
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
25 juillet 2009

Bonjour vbjpc,


J'ai peut-être trouvé un bout de code qui pourrait t'aider :
Visiblement pour piloter un document office déjà ouvert il faut utiliser la fonction getObject :


Dim WordDoc As Word.Document
Set WordDoc = GetObject("monDocument.doc")

Bon courage
Messages postés
7
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
3 avril 2012

Bonjour exode42 et merci
Ca ne marche pas mais j'ai pas approfondi.

Voici mon code qui marche très bien

Sub Q04()
Repertoire = ThisWorkbook.Path & ""

Dim appWD As Word.Application
Dim docWD As Word.Document
Set appWD = CreateObject("Word.Application")
appWD.Visible = True
appWD.Documents.Open (Repertoire & "Décompte TVA-nouveau.doc")

Set appWD = Nothing
End Sub

Mais comment faire si le document est déjà ouvert ?

merci pour ton aide
Messages postés
4
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
25 juillet 2009

Excuse moi, j'avais oublié de te signifier qu'il faut activer la référence : "Microsoft Word XX.X Object Librairy" (Que tu trouvera dans le menu : "Outil" puis référence.
J'ai fais le test avec un fichier Word nomé "monDocument.doc" et une macro Excel : j'ouvre et le compte le nombre de paragraphe dans mon fichier word que j'ai déjà ouvert avant.

J'espère que cela pourra t'aider.

Private Sub Workbook_Open()

    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\Guerrero\Bureau\monDocument.doc", ReadOnly:=True)   

    Set WordDoc = GetObject("C:\Documents and Settings\Guerrero\Bureau\monDocument.doc")

    MsgBox WordDoc.Paragraphs.Count

End Sub

Cordialement,
Messages postés
7
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
3 avril 2012

Encore mercie pour ta diligence

Le référencement était bien effectué.
Je précise ma situation :
Si Word a été lancée normalement et que mon fichier a été ouvert dans Word par Menu Fichier Ouvrir et que je ne veux pas qu'une deuxième instance de Word s'ouvre et que je puisse accéder au fichier que faire ?

merci d'avance
Messages postés
4
Date d'inscription
dimanche 8 juillet 2007
Statut
Membre
Dernière intervention
25 juillet 2009

Et bien la je crois que je ne vais pas pouvoir t'aider. Tu n'a pas un autre moyen pour contourner le problème ?
Messages postés
7
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
3 avril 2012

c'est pas grave, je vais continuer de chercher car j'ai déjà vu ce code une fois mais je ne me souviens plus oû.
encore merci