PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → RTF vers Doc
RTF vers Doc
Started by Jean-Michel, Oct., 17 2020 12:55 PM - 6 replies
Registered member
834 messages
Popularité : +13 (13 votes)
Posted on October, 17 2020 - 12:55 PM
Bonjour,
J'ai un champs RTF que je veux insérer dans un fichier docx.
J’utilise le document windev.

mon astuce est de passer par le presse-papier.
je n'ai pas trouve mieux :
VersPressePapierRTF(TRapportExpertise.Valeur)
DocInsère(sModele_tmp, tabFragments [j].PositionFin, PressePapier)


La copie se fait bien.
Par contre, mon champs RTF contient une image dans le texte.
l'image ne se copie pas.

Une idee ?

Merci !

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on October, 19 2020 - 8:00 AM
Salut Jean-Michel,

Essaie plutôt la vrsion RTF

VersPressePapierRTF(TRapportExpertise.Valeur)
DocInsère(sModele_tmp, tabFragments [j].PositionFin, PressePapierRTF())


Dis moi si c'est mieux.

A+
Daryl

--
http://www.concept4u2.com
Registered member
834 messages
Popularité : +13 (13 votes)
Posted on October, 19 2020 - 10:39 AM
Salut Daryl !
j'avais essaye, mais dans ce cas la, il copie les caracteres rtf de mise en page et la photo, qui est prise en compte s'imprime en hexadecimal....

Merci

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on October, 20 2020 - 12:03 PM
Salut Jean-Michel,

J'ai effectué quelques tests de mon côté et en effet c'est pas top.
Toutefois, je suis parvenus à le faire avec un champ RTF (SAI_Texte_RTF) et un champ traitement de texte (TT_Document)
J'ai mis un bouton qui charge un fichier RTF dans le champ RTF

sFichier est une chaîne = fSélecteur("", "", "Sélectionnez un fichier...", "RTF" + TAB + "*.rtf" + RC + "Tous les fichiers (*.*)" + TAB + "*.*", "*.rtf")

SI sFichier <> "" ALORS
// Vide le champ RTF
SAI_Texte_RTF = ""

// Charge le fichier RTF dans le champ
RTFCharge(SAI_Texte_RTF, sFichier)
FIN


Et un bouton pour insérer le RTF chargé dans le champ traitement de texte

doc est un Document <- TT_Document..Valeur

// Est-ce que le champ traitement de texte à un document ouvert ou pas ?
SI doc = Null ALORS
TT_Document = ""
FIN

// Envoi le RTF dans le champ traitement de texte
VersPressePapierRTF(SAI_Texte_RTF) // Envoie le contenu du champ RTF dans le presse papier
EnvoieTouche("^v", TT_Document) // Envoie le presse papier dans le champ traitement de texte


Et ça fonctionne parfaitement :merci:

Bon Dev
Daryl

--
http://www.concept4u2.com
Registered member
834 messages
Popularité : +13 (13 votes)
Posted on October, 20 2020 - 2:58 PM
Daryl salut,
Putin, je suis un vrai boulet car j'avais remarque qu’après avoir fait un 'VersPressePapierRtf" en faisant manuellement un Ctrl V, cela fonctionnait.
Je n'ai même pas pense a le simuler par un "EnvoiTouche".

T'es le meilleur ! Félicitation et un putin de Grand Merci !!!!!!!!!!

--
Synchronize Systems International LTD
Développement d'outils de gestion

Environnements AS400 – Windows
Langages GAP III – CL – Visual Basic - Visual Adélia - Adélia - Windev

Bangkok / Pattaya
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on October, 20 2020 - 4:21 PM
Avec Plaisir Jean-Michel :D

A+ et Bon Dev
Registered member
62 messages
Popularité : +4 (6 votes)
Posted on October, 21 2020 - 2:37 PM
Bonjour,

J'utilise dans des Docx, des valeurs récupérer dans des champs RTF paramètrer pour générer des documents de type publipostage avec les fonctions :

DocRemplace(TT_Document, "<Module_Texte_Courrier>", RTFVersTexte(stInfoModule.Texte_Courrier))
DocRemplace(TT_Document, "<Module_Texte_Resultat>", RTFVersTexte(stInfoModule.Texte_Resultat))
DocRemplace(TT_Document, "<Module_Texte_Diplome>", RTFVersTexte(stInfoModule.Texte_Diplome))

Vous trouverez cela dans la documentation aussi, cela fonctionne très bien.

Cordialement,
Pascal

--
AS400 – Windows - Web
Langages GAP III ILE – CL – PHP- WinDev/WebDev