PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Champs Traitement de texte
Champs Traitement de texte
Iniciado por Jean-Michel, 02,nov. 2018 07:02 - 8 respuestas
Miembro registrado
856 mensajes
Publicado el 02,noviembre 2018 - 07:02
Bonjour,

J'apprends à me saisir de ce champs en 23.
J'ai du mal.............

J’ai mon fichier .Docx :




Je saisie à la main 2 produits avec prix :




Je veux créer mon fichier Word en affectant les datas aux variables :
TT_Proposition est un Document
TT_Proposition = DocOuvre(fRepExe + "\propal.docx")

PTableau est un docParagraphe
PTableau <= TT_Proposition..Paragraphe[1]

HLitRecherche(Clients,IDClients,COMBO_Clients..ValeurMémorisée)
SI HTrouve(Clients) ALORS
DocRemplace(TT_Proposition, "%Nom_Client%", Clients.Nom)
DocRemplace(TT_Proposition, "%Prenom%", Clients.Prenom)

POUR i = 1 _À_ TABLE_produits..Occurrence
nIndiceLigneAjoute est un entier = Ajoute(PTableau.Tableau.Lignes)
PTableau.Tableau.Cellules[1,1].Contenu.Texte = COL_produit[1]
FIN
FIN


Erreur :




Comment trouver mon paragraphe tableau ? Comment faire ?
Bref, je pédale............

J.Michel,

--
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
http://www.cashpower.fr/

Bangkok / Pattaya
Miembro registrado
856 mensajes
Publicado el 03,noviembre 2018 - 08:45
Aïl : Pas d'amateur.......... Je réitère.........
Miembro registrado
856 mensajes
Publicado el 08,noviembre 2018 - 07:33
Je ré-essaye une dernière fois en espérant avoir plus de chance à trouver quelqu'un qui connait ce sujet........
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
http://www.cashpower.fr/

Bangkok / Pattaya
Miembro registrado
1.330 mensajes
Publicado el 08,noviembre 2018 - 09:40
Salut Jean-Michel,

L'instantiation de PTableau est incorrect

Remplace :

PTableau <= TT_Proposition..Paragraphe[1]


Par :

PTableau <- TT_Proposition..Paragraphe[1]


Et dis moi si tu as encore le problème.

A+
Daryl

--
http://www.concept4u2.com
Miembro registrado
856 mensajes
Publicado el 10,noviembre 2018 - 06:18
Coucou Daryl !!
ça fait longtemps...............
Merci pour la correction (bisard que cela ne plante pas avec <=).
NON, idem..............
Il ne trouve pas le tableau !!

J'ai regarder cette vidéo, il y a quelque chose qui m'échappe !

Voir à la minute 3:10 !

Help...........
Merci Daryl,

--
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
http://www.cashpower.fr/

Bangkok / Pattaya
Miembro registrado
1.330 mensajes
Publicado el 11,noviembre 2018 - 09:51
Salut Jean-Michel,

Je serais à ta place j'utiliserais des signets partout, car c'est nettement plus simple.
Dans le code ci-dessous, j'ai gardé la recherche et remplacement pour les données clients et j'ai placé un signet dans le document pour le tableau des produits. Je travaille ensuite avec des fragments plutôt que des paragraphes

// Declaration des variables
docFrag est un docFragment
tabProduit est un docTableau

// Ouverture du document
TT_Proposition est un Document
TT_Proposition = DocOuvre(fRepExe + "\propal.docx")

// Recherche des clients et ajout des produits
HLitRecherche(Clients,IDClients,COMBO_Clients..ValeurMémorisée)
SI HTrouve(Clients) ALORS
// Le client
docFrag = DocRecherche(TT_Proposition,"%Nom_Client%",MotComplet+SansCasse)
docFrag..Texte = clients.Nom
docFrag = DocRecherche(TT_Proposition,"%Prenom%",MotComplet+SansCasse)
docFrag..Texte = clients.Prenom

// Les produits
docFrag = TT_Proposition.Signet[SIGNET_PRODUITS]
tabProduit = docFrag.Paragraphe[1].Tableau

POUR i = 1 _À_ TABLE_produits..Occurrence
// Ajoute une ligne dans le tableau
Insère(tabProduit.Lignes, 1)

// Place l'info dans le tableau
tabProduit.Cellules[i, 1]..Contenu..Texte = COL_produit[1]
FIN
FIN

// Supprime la dernière ligne du tableau qui est vide (uniquement si tu veux supprimer cette ligne) :)
Supprime(tabProduit.Lignes, tabProduit.Lignes..Occurrence)


Tiens moi au courant du résultat

A+
Daryl

--
http://www.concept4u2.com
Publicado el 12,noviembre 2018 - 04:32
T es super Daryl,
J ai envie d'utiliser les signets, effectivement mais comment ecrire un signet en programation.
J ai rien trouvé la dessus.
Je veux remplacer %nom% par un signet.
Comment faire zvec un docremplace ?
Ou creer un signet : insertsignet n existe pas...
Tu sais comment faire ?
Encore merci....
Miembro registrado
856 mensajes
Publicado el 12,noviembre 2018 - 05:00
Merci Daryl, mais je suis coince avec les signets a moins que......
Comment remplacer dans un document des "%nom%" en un signet ?
Comment ajouter un signet avec un ajoute ??

Je ne rien trouve dans la doc.....
Si tu sais, alors, je pourrais m en sortir.

Merci.........
J.Mi

--
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
http://www.cashpower.fr/

Bangkok / Pattaya
Miembro registrado
1.330 mensajes
Publicado el 14,noviembre 2018 - 00:09
Salut Jean-Michel,

Alors tu peux ajouter des signets uniquement si tu as la version 23, si tu as une version en dessous il faudra migrer vers la version 23.

Regarde l'aide : https://doc.pcsoft.fr/fr-FR/?1410087023 et fait une recherche sur "Gestion des signets"

A+
Daryl

--
http://www.concept4u2.com