PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Word automation / insérer le texte d'un champ RTF ou multiligne
Word automation / insérer le texte d'un champ RTF ou multiligne
Iniciado por huin.ronald, 08,abr. 2020 14:12 - 2 respuestas
Miembro registrado
75 mensajes
Publicado el 08,abril 2020 - 14:12
Bonjour,

Je souhaite inclure dans un document word par automation le texte d'un champ RTF (ou multilignes).

voici mon code

word est un objet OLE dynamique = ObjetActif("Word.Application")
SI word=Null ALORS word=allouer un objet OLE "Word.Application"
word>>Visible=Vrai // Word apparait a l'ecran
word>>DisplayAlerts = OLEFaux

//lecture du document
word>>Documents>>open(lemodel)
//remplace "Adresse1" par le champ destinataire
word>>Selection>>Find>>Execute("Adresse1",Faux,Vrai,Faux,Faux,Faux,Vrai,1,Faux,FEN_dossiers_word.Onglet1.Destinataire,2)

Lorsque je remplace du texte, il me semble que c'est limité en taille.

--> je souhaite inclure juste après le résultat de mon champ RTF (ou multilignes) qui peut faire 70 à 80 lignes mais je ne sais pas comment faire

Pourriez vous m'aider SVP ??

Je remercie d'avance toute la communauté !!
Miembro registrado
27 mensajes
Publicado el 08,abril 2020 - 14:48
Salut,

As tu vu que tu avais un exemple WD Pilotage de Word?
Je pense que ça peut t'aider.

Bonne journée
Miembro registrado
962 mensajes
Publicado el 10,abril 2020 - 07:28
hello,
voici une solution en utilisant un signet (plutôt qu'un remplacement de texte) et un copier / coller :
// J.P Avril 2020
monDocument est une chaîne
word est un objet OLE dynamique = ObjetActif("Word.Application")
monAdresse est un objet OLE dynamique
// Allocation d'un objet Word si non-trouvé
SI word=Null ALORS word=allouer un objet OLE "Word.Application"
word>>Visible= Vrai // Word apparait à l'écran
monDocument = "M:\test\monDocument.docx"
word>>Documents>>Open(monDocument)
// on copie dans le presse-papier le contenu du champ RTF
VersPressePapierRTF(Texte_RTF)
// on sélectionne le signet Adresse1
QUAND EXCEPTIONEXCEPTION DANS
monAdresse = word>>ActiveDocument>>Bookmarks("Adresse1")>>Range
FAIRE
Info("Erreur de sélection du signet.",ExceptionInfo())
RETOUR
FIN
// on colle le contenu du presse-papier dans le signet
monAdresse>>Paste()
// on recrée le signet
word>>ActiveDocument>>Bookmarks>>Add("Adresse1",monAdresse)
// word>>ActiveDocument>>Close(Faux) // Fermeture du document sans enregistrer
word>>ActiveDocument>>Close(True) // Fermeture du document en enregistrant
word>>Quit()


--
Ami calmant, J.P