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

automatisation OLE d'Excel à Word

1 réponse
Avatar
André Boileau
Mon objectif est d'inscrire par VBA OLE des donn=E9s Excel=20
dans une lettre existante de Word =E0 l'aide de signets=20
(Bookmarks).J'op=E8re avec Windows XP, donc avec les=20
versions 10 d'Excel et de Word.Comme le seul exemple=20
d'Excel (F1, GetObject) porte sur une op=E9ration d'Excel=20
sur Excel (?), j'ai tent=E9 de l'adapter pour agir sur Word=20
mais =E7a ne fonctionne pas. Tout ce que j'obtiens est=20
l'impression de la lettre non modifi=E9e si elle constitue=20
le document actif alors que Word est ouvert. La proc=E9dure=20
ne reconna=EEt pas la lettre. La proc=E9dure d=E9crite =E0=20
l'article 184974 (Utilisation de l'automation OLE dans=20
Word) du site Microsoft ne fonctionne pas plus. Elle=20
semble adapt=E9e uniquement =E0 la version 8. Pourtant,j'ai=20
r=E9ussi =E0 le faire au bureau (Windows NT version 4, Excel=20
97 SR-2) en utilisant uniquement=20
"Set MaLettre =3D GetObject("C:\Mes Documents\MaLettre.doc"
Merci de votre aide.

1 réponse

Avatar
Bruno
Bonjour,
Personnellement j'utilise ce bout de code dans une telle situation.
J'utilise Createobject au lieu de getobject...
Il fonctionne parfaitement.
Attention à utilser avec un .DOT.

Set WRD = CreateObject("word.application")
WRD.Visible = True
WRD.Documents.Add Template:=Chemin Fichier, NewTemplate:úlse
WRD.ActiveDocument.FormFields("texte1").Result = Variable1
WRD.ActiveDocument.FormFields("texte2").Result = variable2
Set WRD = Nothing

Bonne journée
A+++
Bruno



"André Boileau" a écrit dans le message de
news:02ca01c48c7b$32f59d80$
Mon objectif est d'inscrire par VBA OLE des donnés Excel
dans une lettre existante de Word à l'aide de signets
(Bookmarks).J'opère avec Windows XP, donc avec les
versions 10 d'Excel et de Word.Comme le seul exemple
d'Excel (F1, GetObject) porte sur une opération d'Excel
sur Excel (?), j'ai tenté de l'adapter pour agir sur Word
mais ça ne fonctionne pas. Tout ce que j'obtiens est
l'impression de la lettre non modifiée si elle constitue
le document actif alors que Word est ouvert. La procédure
ne reconnaît pas la lettre. La procédure décrite à
l'article 184974 (Utilisation de l'automation OLE dans
Word) du site Microsoft ne fonctionne pas plus. Elle
semble adaptée uniquement à la version 8. Pourtant,j'ai
réussi à le faire au bureau (Windows NT version 4, Excel
97 SR-2) en utilisant uniquement
"Set MaLettre = GetObject("C:Mes DocumentsMaLettre.doc"
Merci de votre aide.