OVH Cloud OVH Cloud

[WD9] - OLE avec Word

4 réponses
Avatar
Yao
Bonjour,

Est-il possible à partir de WD9 de récupérer des données (champs) saisie
dans un formulaire créé dans Word.

Merci

Yao

4 réponses

Avatar
Pascal R.
Yao a écrit :
Bonjour,

Est-il possible à partir de WD9 de récupérer des données (champs) saisie
dans un formulaire créé dans Word.

Merci

Yao




C'est possible avec WD75 alors, je suppose que ca l'est toujours ...
(oui je sais, je suis un optimiste né :-) )
Avatar
Yao
"Pascal R." a écrit dans le message de
news:cuvr2l$3no$
Yao a écrit :
> Bonjour,
>
> Est-il possible à partir de WD9 de récupérer des données (champs) saisie
> dans un formulaire créé dans Word.
>
> Merci
>
> Yao
>
>
C'est possible avec WD75 alors, je suppose que ca l'est toujours ...
(oui je sais, je suis un optimiste né :-) )



Quel code utiliser avec ObjectActif ? Si c'est le bon choix...

Merci d'avance

Yao
Avatar
Pascal R.
Yao a écrit :
"Pascal R." a écrit dans le message de
news:cuvr2l$3no$

Yao a écrit :

Bonjour,

Est-il possible à partir de WD9 de récupérer des données (champs) saisie
dans un formulaire créé dans Word.

Merci

Yao





C'est possible avec WD75 alors, je suppose que ca l'est toujours ...
(oui je sais, je suis un optimiste né :-) )




Quel code utiliser avec ObjectActif ? Si c'est le bon choix...

Merci d'avance

Yao




J'ai créé une classe pour gérer l'interfacage avec Word97.
Ca doit pouvoir s'adapter a tous les Word assez simplement.

Tout n'y est pas, en fait j'alimente la classe au fur et à
mesure de mes besoins.

Si tu veux, je peux te l'envoyer.
En exemple 3 méthodes
1) Récupération de la valeur d'un champ texte

Procédure clWord97::GetChampTexte( cpNomChamp)
local
clRetour est une chaine = ""

clNomChamp est une chaine = cpNomChamp
nlNumChamp est un entier


quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+" / +Exception.Code,Exception.Message)
FIN
Renvoyer( clRetour)
fin

si :EstActif( ) alors
si :lChamps alors
si :ChampExiste( clNomChamp, nlNumChamp) alors
clRetour = :oCurDoc>>FormFields( nlNumChamp)>>Result
FIN
FIN
FIN
renvoyer( clRetour)

2) La méthode ChampExiste
Procédure clWord97::ChampExiste( cpNomChamp, nvNumChamp)
local
clTemp est une chaine
llRetour est un Booléen = faux
clNomChamp est une chaine = Majuscule( cpNomChamp)

i est un entier
n est un entier

nvNumChamp = 0
quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+"/"+Exception.Code, Exception.Message)
FIN
renvoyer( faux)
fin

si :EstActif( ) et :lChamps alors
i = 1
n = :oChamps>>Count
boucle
si i > n alors sortir
clTemp = :oCurDoc>>FormFields( i)>>Name
clTemp = Majuscule( clTemp)
si clTemp = clNomChamp alors
nvNumChamp = i
llRetour = vrai
sortir
sinon
i++
FIN
FIN
FIN
renvoyer( llRetour)

3)La méthode permettant d'affecter une valeur à un champ texte
Procédure clWord97::SetChampTexte( cpNomChamp, cpValeur)
local
llRetour est un Booléen = faux
clNomChamp est une chaine = cpNomChamp
nlNumChamp est un entier
clValeur est une chaine = cpValeur

quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+"/"+Exception.Code, Exception.Message)
FIN
renvoyer( faux)
fin

si :EstActif( ) alors
si :lChamps alors
si :ChampExiste( clNomChamp, nlNumChamp) alors
:oCurDoc>>FormFields( nlNumChamp)>>Result = clValeur
llRetour = vrai
FIN
FIN
FIN

renvoyer( llRetour)

Voila, j'espere que ca t'aideras.

Pascal
Avatar
Yao
Merci Môsieur...Chapô bas !

J'en demandais pas tant....

Quoi que...;-)

Yao

"Pascal R." a écrit dans le message de
news:cv1gmn$tq4$
Yao a écrit :
> "Pascal R." a écrit dans le message de
> news:cuvr2l$3no$
>
>>Yao a écrit :
>>
>>>Bonjour,
>>>
>>>Est-il possible à partir de WD9 de récupérer des données (champs)


saisie
>>>dans un formulaire créé dans Word.
>>>
>>>Merci
>>>
>>>Yao
>>>
>>>
>>
>>C'est possible avec WD75 alors, je suppose que ca l'est toujours ...
>>(oui je sais, je suis un optimiste né :-) )
>
>
> Quel code utiliser avec ObjectActif ? Si c'est le bon choix...
>
> Merci d'avance
>
> Yao
>
>
J'ai créé une classe pour gérer l'interfacage avec Word97.
Ca doit pouvoir s'adapter a tous les Word assez simplement.

Tout n'y est pas, en fait j'alimente la classe au fur et à
mesure de mes besoins.

Si tu veux, je peux te l'envoyer.
En exemple 3 méthodes
1) Récupération de la valeur d'un champ texte

Procédure clWord97::GetChampTexte( cpNomChamp)
local
clRetour est une chaine = ""

clNomChamp est une chaine = cpNomChamp
nlNumChamp est un entier


quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+" / +Exception.Code,Exception.Message)
FIN
Renvoyer( clRetour)
fin

si :EstActif( ) alors
si :lChamps alors
si :ChampExiste( clNomChamp, nlNumChamp) alors
clRetour = :oCurDoc>>FormFields( nlNumChamp)>>Result
FIN
FIN
FIN
renvoyer( clRetour)

2) La méthode ChampExiste
Procédure clWord97::ChampExiste( cpNomChamp, nvNumChamp)
local
clTemp est une chaine
llRetour est un Booléen = faux
clNomChamp est une chaine = Majuscule( cpNomChamp)

i est un entier
n est un entier

nvNumChamp = 0
quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+"/"+Exception.Code, Exception.Message)
FIN
renvoyer( faux)
fin

si :EstActif( ) et :lChamps alors
i = 1
n = :oChamps>>Count
boucle
si i > n alors sortir
clTemp = :oCurDoc>>FormFields( i)>>Name
clTemp = Majuscule( clTemp)
si clTemp = clNomChamp alors
nvNumChamp = i
llRetour = vrai
sortir
sinon
i++
FIN
FIN
FIN
renvoyer( llRetour)

3)La méthode permettant d'affecter une valeur à un champ texte
Procédure clWord97::SetChampTexte( cpNomChamp, cpValeur)
local
llRetour est un Booléen = faux
clNomChamp est une chaine = cpNomChamp
nlNumChamp est un entier
clValeur est une chaine = cpValeur

quand exception
si :lAffErrMsg alors
:ErreurMsg( Exception.Procedure+"/"+Exception.Code,


Exception.Message)
FIN
renvoyer( faux)
fin

si :EstActif( ) alors
si :lChamps alors
si :ChampExiste( clNomChamp, nlNumChamp) alors
:oCurDoc>>FormFields( nlNumChamp)>>Result = clValeur
llRetour = vrai
FIN
FIN
FIN

renvoyer( llRetour)

Voila, j'espere que ca t'aideras.

Pascal