Controler Word via Excel (Controle du document)

Bonjour à tous,

Je poste sur ce forum car j'ai un petit ennui lié au VBA. Le but de mon code est d'ouvrir un fichier Word dans un premier temps et d'y copier coller des tableaux au fur et à mesure.

J'ouvre donc durant la première passe le fichier Word correctement et y transfère une partie des tableaux à l'aide de signets. Cependant, j'aimerai éviter de devoir ouvrir et fermer ce document Word à chaque passe. L'idée est donc de le garder en arrière plan de manière a pouvoir ajouter mes tableaux au fil et à mesure que je les modifie sur Excel.

Dans un premier temps, je teste donc si le ficher Word est bien ouvert, si non: j'ouvre le document (1ère passe) si oui: je reprends son contrôle pour y copier mes tableaux, et c'est à ce moment la que ça coince, j'ai essayé avec les différents "Activate et Active Documents" sans grand succès.

If IsFileOpen("---chemin fichier---.doc") Then 'teste si le fichier est ouvert

?????????????? 'comment reprendre le contrôle sur le document déja ouvert ?

Else

Set DocWord = AppWord.Documents.Open("---chemin fichier---.doc", ReadOnly:=False)

End If

Voila donc le problème, merci d'avance pour votre aide

Cdt

Bonjour,

A mon avis, il faut activer au préalable l'application Word

AppWord.Activate
thev a écrit :

Bonjour,

A mon avis, il faut activer au préalable l'application Word

AppWord.Activate

Bonjour, merci pour la réponse, mais lorsque j'essaie ce code, je me retrouve avec l'erreur '91' : Variable objet ou variable de bloc With non définie. Pourtant la variable est bien déclarée.

Dim DocWord As Word.Document

Dim AppWord As Word.Application

Bonjour,

C'est avec un code du genre :

dim NDF as string
NDF = "---chemin fichier---.doc"
If IsFileOpen(NDF) Then 'teste si le fichier est ouvert
     Set WordApp = GetObject(, "Word.Application")
    Set WordDoc = WordApp.Documents(NDF)
Else
    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Open(NDF, ReadOnly:=False)
End If

Pierre

code par rapport à vos variables

Dim DocWord As Word.Document
Dim AppWord As Word.Application
Dim NDF As String
NDF = "---chemin fichier---.doc"

If IsFileOpen(NDF) Then 'teste si le fichier est ouvert
     Set DocWord = GetObject(NDF)
    Set AppWord = DocWord.Application
Else
    Set AppWord = CreateObject("Word.Application")
    Set DocWord = AppWord.Documents.Open(NDF, ReadOnly:=False)
End If
AppWord.Visible = True
AppWord.Activate
DocWord.Select

Merci à tous pour votre aide,

Cela fonctionne parfaitement maintenant

Rechercher des sujets similaires à "controler word via controle document"