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

connection a un process word deja ouvert depuis un prog vba

7 réponses
Avatar
Seb
bonjour,
je voudrais depuis un programme externe a word me connecter sur le document
du processus word actif dans windows.
Peut on faire cela? comment?

Merci

seb

7 réponses

Avatar
Tisane
Bonjour Seb,

je voudrais depuis un programme externe a word me connecter sur le
document du processus word actif dans windows.
Peut on faire cela? comment?


Il faudrait plutôt chercher du côté du "programme externe".
Tu parles d'un programme vba, il s'agit donc d'un autre logiciel du pack
Office (Excel, Access ?).

--
Tisane

Avatar
Seb
non en fait ce n'est pas un autre programme office, c'est un programme de
CAO dans lequel je peux programmer en VBA.
En fait je veux inserer automatiquement des champs word à l'endroit ou se
trouve le curseur dans le document word actif(le dernier ouvert sous
windows)
Donc j'aimerai me connecter a l'objet word existant deja dans windows (et
donc ne pas avoir besoin de creer une autre instance de word) et pouvoir
faire des modification dans le doc deja ouvert.

Merci pour votre aide et vos conseils

Seb



"Tisane" a écrit dans le message de news:
46276c22$0$27394$
Bonjour Seb,

je voudrais depuis un programme externe a word me connecter sur le
document du processus word actif dans windows.
Peut on faire cela? comment?


Il faudrait plutôt chercher du côté du "programme externe".
Tu parles d'un programme vba, il s'agit donc d'un autre logiciel du pack
Office (Excel, Access ?).

--
Tisane



Avatar
Geo

non en fait ce n'est pas un autre programme office, c'est un programme de CAO dans
lequel je peux programmer en VBA.
En fait je veux inserer automatiquement des champs word à l'endroit ou se trouve le
curseur dans le document word actif(le dernier ouvert sous windows)
Donc j'aimerai me connecter a l'objet word existant deja dans windows (et donc ne pas
avoir besoin de creer une autre instance de word) et pouvoir faire des modification
dans le doc deja ouvert.


Il suffit de préfixer les commandes word avec le nom de l'application
Word
Appword.insertAfter ....

--
A+

Avatar
Seb
pour acceder a word et travailler dans des documents que j'ouvre depuis mon
appli je crée un objet word de la façon suivante

Public objWord As Object

Set objWord = CreateObject("Word.Application")

dans le cas qui m'interesse, je ne veux pas faire ceci mais utiliser
l'instance word deja ouverte dans windows. Y a t'il un moyen de recuperer
l'objet VBA correspondant a cette instance?

Merci
Seb

"Geo" a écrit dans le message de news:


non en fait ce n'est pas un autre programme office, c'est un programme de
CAO dans lequel je peux programmer en VBA.
En fait je veux inserer automatiquement des champs word à l'endroit ou se
trouve le curseur dans le document word actif(le dernier ouvert sous
windows)
Donc j'aimerai me connecter a l'objet word existant deja dans windows (et
donc ne pas avoir besoin de creer une autre instance de word) et pouvoir
faire des modification dans le doc deja ouvert.


Il suffit de préfixer les commandes word avec le nom de l'application Word
Appword.insertAfter ....

--
A+





Avatar
Seb
merci pour votre aide mais je viens de trouver

au lieu de ceci pour creer une instance de word:

Public objWord As Object
Set objWord = CreateObject("Word.Application")

il suffisait d'utiliser ceci:

Public objWord As Object
Set objWord = GetObject(, "Word.Application")

Cordialement
seb
Avatar
Geo

pour acceder a word et travailler dans des documents que j'ouvre depuis mon appli je
crée un objet word de la façon suivante

Public objWord As Object

Set objWord = CreateObject("Word.Application")

dans le cas qui m'interesse, je ne veux pas faire ceci mais utiliser l'instance word
deja ouverte dans windows. Y a t'il un moyen de recuperer l'objet VBA correspondant a
cette instance?


Vous l'avez, c'est objWord.
Par contre il faut référencer les bibliothèques, c'est peut-être ça qui
vous manque. MSWord.OLB

--
A+

Avatar
Geo

merci pour votre aide mais je viens de trouver

au lieu de ceci pour creer une instance de word:

Public objWord As Object
Set objWord = CreateObject("Word.Application")

il suffisait d'utiliser ceci:

Public objWord As Object
Set objWord = GetObject(, "Word.Application")


Vi, mettons un peu d'ordre là-dedans
GetObject permet d'accéder à Word s'il est déjà ouvert

CreateObject ouvre Word.
S'il est déjà ouvert, il en ouvre un autre qu'on peut maintenir caché
mais s'en servir quand même.

Donc si votre document était déjà ouvert, c'est effectivement GetObject
qu'il faut utiliser, je n'avais pas percuté.

--
A+