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

windev --> word

5 réponses
Avatar
TéLéoVoïDe
Bonjour à tous...
j'ai une petite question :
peut-on connecter une application style word ou worpad à une zone de saisie
de texte d'une application faite en windev 7.5 ? (pour personnaliser des
documents word directement sous mon appli windev)

Merci à tous !!!!

B.

5 réponses

Avatar
el
Avec du publipostage Word,
Avec des champs RTF,
Avec un objet ole...

Vous avez le choix. Par contre c'est Windev qui va se "connecter" à
l'application et pas le contraire.

"TéLéoVoïDe" a écrit dans le message
news: 3f9d8aea$0$6980$
Bonjour à tous...
j'ai une petite question :
peut-on connecter une application style word ou worpad à une zone de


saisie
de texte d'une application faite en windev 7.5 ? (pour personnaliser des
documents word directement sous mon appli windev)

Merci à tous !!!!

B.





Avatar
TéLéoVoïDe
bonjour...
bon, en fait ma question était mal posée.

Comme tout le monde n'a pas word, on s'est dit que le plus simple serait
d'utiliser Worpad (qui n'est pas Notepad) - je dis bien "serait"... ;-)
Donc, à priori, pas de Ddeconnecte, pas de Ole, pas de publipostage...

L'idée était donc d'avoir un modèle de courrier fait avec wordpad (c'est pas
ce qu'il y a de mieux, mais on est sûr de le trouver sur tous les PC). Dans
ce modèle, les champs qui m'intéressent (nom, prénom, etc.) sont "remplacés"
par quelque chose du style @nom, @prenom@, etc. L'appli balayerait le texte
du fichier et remplacerait les @nom par la valeur de ma variable nom, puis
lancerait l'impression. C'est un publipostage, en quelque sorte, mais fait à
partir de l'appli, et utilisant wordpad...

On arrive bien à lancer Wordpad, pas de prob, mais comment lui envoyer les
valeurs d'une variable ?




B.



"el" a écrit dans le message de
news:bnmfc4$18n$
Avec du publipostage Word,
Avec des champs RTF,
Avec un objet ole...

Vous avez le choix. Par contre c'est Windev qui va se "connecter" à
l'application et pas le contraire.

"TéLéoVoïDe" a écrit dans le message
news: 3f9d8aea$0$6980$
> Bonjour à tous...
> j'ai une petite question :
> peut-on connecter une application style word ou worpad à une zone de
saisie
> de texte d'une application faite en windev 7.5 ? (pour personnaliser des
> documents word directement sous mon appli windev)
>
> Merci à tous !!!!
>
> B.
>
>
>




Avatar
Laurent Imbert
Je ne comprend pas vraiment ce que tu veut faire là, c'est un genre de
mailing, pourquoi ne pas utilisé un etat dans windev, tous ceux qui aurront
le programme aurront aussi l'etat sans avoir besoin d'un quelconque soft.
A moins que tu veuille que tous les postes puissent modifier cet etat à leur
guise et unilateralement ?
Dans ce cas tu peut toujours utiliser un fichier txt (banal et utilisable
par tous).
Explique un peut mieux car je ne vois pas ce qui bloque !


"TéLéoVoïDe" a écrit dans le message
de news:3f9f5b4e$0$6980$
bonjour...
bon, en fait ma question était mal posée.

Comme tout le monde n'a pas word, on s'est dit que le plus simple serait
d'utiliser Worpad (qui n'est pas Notepad) - je dis bien "serait"... ;-)
Donc, à priori, pas de Ddeconnecte, pas de Ole, pas de publipostage...

L'idée était donc d'avoir un modèle de courrier fait avec wordpad (c'est


pas
ce qu'il y a de mieux, mais on est sûr de le trouver sur tous les PC).


Dans
ce modèle, les champs qui m'intéressent (nom, prénom, etc.) sont


"remplacés"
par quelque chose du style @nom, @prenom@, etc. L'appli balayerait le


texte
du fichier et remplacerait les @nom par la valeur de ma variable nom, puis
lancerait l'impression. C'est un publipostage, en quelque sorte, mais fait


à
partir de l'appli, et utilisant wordpad...

On arrive bien à lancer Wordpad, pas de prob, mais comment lui envoyer les
valeurs d'une variable ?




B.



"el" a écrit dans le message de
news:bnmfc4$18n$
> Avec du publipostage Word,
> Avec des champs RTF,
> Avec un objet ole...
>
> Vous avez le choix. Par contre c'est Windev qui va se "connecter" à
> l'application et pas le contraire.
>
> "TéLéoVoïDe" a écrit dans le


message
> news: 3f9d8aea$0$6980$
> > Bonjour à tous...
> > j'ai une petite question :
> > peut-on connecter une application style word ou worpad à une zone de
> saisie
> > de texte d'une application faite en windev 7.5 ? (pour personnaliser


des
> > documents word directement sous mon appli windev)
> >
> > Merci à tous !!!!
> >
> > B.
> >
> >
> >
>
>




Avatar
Romain PETIT
"TéLéoVoïDe" a présenté l'énoncé suivant :
Bonjour à tous...
j'ai une petite question :
peut-on connecter une application style word ou worpad à une zone de saisie
de texte d'une application faite en windev 7.5 ? (pour personnaliser des
documents word directement sous mon appli windev)



Pourquoi ne pas utiliser un champs RTF ?
Pas besoin d'avoir Word,on peut ouvrir les fichiers soit avec Word,
soit avec wordPad avec la plupart des éditeurs de texte.

(voir l'exemple WD7 Editeur RTF)

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Didier Girod
Salut,

Voici un exemple que je viens de te faire vite fait , qui permet de piloter
wordpad via les envoietouche, celà t'aidera peut être dans ta réflexion

Tu peux le tester , il est bien sur à améliorer ,

--> Ouverture de wordpad avec le document de base

--> Remplecement d'un champ @nom par le contenu de la variable w_nom

--> Edition

--> enregistrer sous


w_handle est un entier long
w_handle2 est un entier long
w_handle3 est un entier long
w_nom est une chaine
w_t est une chaine
si pas DDELance("C:Program FilesWindows NTAccessoireswordpad.exe
c:copietest.rtf",DDEMaximisé,faux) ALORS
SELON DDECr()
CAS -1
Erreur("Impossible de lancer 'WORDPAD.EXE'.",...
"Erreur de syntaxe dans la ligne de commande.")
CAS 8
Erreur("Impossible de lancer 'WORDPAD.EXE'.",...
"Il n'y a pas assez de mémoire pour lancer l'application.")
CAS 9
Erreur("Impossible de lancer 'WORDPAD.EXE'",...
"le programme appelé est inconnu (chemin ou non incorrect).")
CAS 10
Erreur("Impossible de lancer 'WORDPAD.EXE'.",...
"le programme appelé est déjà lancé et il est mono-instance.")
CAS 11
Erreur("Impossible de lancer 'WORDPAD.EXE'.",...
"Erreur de lancement du programme.")
AUTRES CAS
Erreur("Impossible de lancer 'WORDPAD.EXE'.")
FIN
ferme
FIN
// affectation de la variable w_nom
w_nom="Monsieur Dupond"

// recupere le handle de la fenêtre en cours
//// on boucle en regardant si le titre de la fenêtre en cours est bien le
bloc note
boucle
w_handle = appeldll32("user32","GetForegroundWindow") //// récupère le
handle de la fenêtre en premier plan
si syshandlevalide(w_handle) alors //// si le n° de handle est valide
w_t=majuscule(sansespace(sysfentitre(w_handle))) //// on récupère le
titre de la fenêtre
si POSITION(w_t,"WORDPAD") <> 0 alors //// si le titre contient
'WORDPAD' , il s'agit bien de notre programme
multitache(30) //// pause
appeldll32("user32","SetFocus",w_handle) //// donne le focus a cette
application
multitache(20) //// pause
envoietouche("^h",w_handle) //// remplacer ctrl+h
multitache(10) //// pause
// recupérer le handle de la fenetre remplecer
w_handle2 = appeldll32("user32","GetForegroundWindow") //// récupère le
handle de la fenêtre en premier plan
si syshandlevalide(w_handle2) alors //// si le n° de handle est valide
w_t=majuscule(sansespace(sysfentitre(w_handle2))) //// on récupère le
titre de la fenêtre
si POSITION(w_t,"REMPLACER") <> 0 alors //// si le titre contient
'REMPLACER' , il s'agit bien de notre programme
envoietouche("@nom",w_handle2)
multitache(10) //// pause
envoietouche("{TAB}",w_handle2)
envoietouche(w_nom,w_handle2)
multitache(10) //// pause
envoietouche("%t",w_handle2) ////remplace tout (alt+t)
multitache(50) //// pause pour efféctuer le remplacement
// recupere le handle de la fenetre deremplacement
w_handle3 = appeldll32("user32","GetForegroundWindow") //// récupère
le handle de la fenêtre en premier plan
si syshandlevalide(w_handle3) alors //// si le n° de handle est valide
envoietouche("{ENTREE}",w_handle3) //// touche entré pour fermer la
fenetre (remplacement terminé)
multitache(10) ////
fin
envoietouche("%{F4}",w_handle2) //// envoie F4 pour fermer la fenetre
de remplacement
multitache(20) ////
FIN
FIN
// edition
envoietouche("^p",w_handle) //// imprimer ctrl+p
multitache(20) //// pause
// ouvre un nouvelle fenetre d'édition
w_handle2 = appeldll32("user32","GetForegroundWindow") //// récupère le
handle de la fenêtre en premier plan
si syshandlevalide(w_handle2) alors //// si le n° de handle est valide
w_t=majuscule(sansespace(sysfentitre(w_handle2))) //// on récupère le
titre de la fenêtre
si POSITION(w_t,"IMPRIMER") <> 0 alors //// si le titre contient
'imprimer' , il s'agit bien de notre programme
multitache(10) //// pause
envoietouche("%i",w_handle2) ////valide l'édition (alt+i)
multitache(10) //
fin
fin
//enregistrement sous
envoietouche("%F",w_handle) ////appel le menu fichier (alt+f)
multitache(10) //
envoietouche("r",w_handle) ////appel la fenetre enregistrer sous
multitache(10) //
// recupérer le handle de la fenetre remplecer
w_handle2 = appeldll32("user32","GetForegroundWindow") //// récupère le
handle de la fenêtre en premier plan
si syshandlevalide(w_handle2) alors //// si le n° de handle est valide
w_t=majuscule(sansespace(sysfentitre(w_handle2))) //// on récupère le
titre de la fenêtre
si POSITION(w_t,"ENREGISTRER") <> 0 alors //// si le titre contient
'ENREGISTRER' , il s'agit bien de notre programme
// saisie du nouveau document
envoietouche("TEST2.RTF",w_handle2) ////appel la fenetre enregistrer
sous
multitache(10) //
envoietouche("%e",w_handle2) ////enregistre
multitache(20) //
// un fenetre de confirmation est ouverte ?
w_handle3 = appeldll32("user32","GetForegroundWindow") //// récupère
le handle de la fenêtre en premier plan
si syshandlevalide(w_handle2) alors //// si le n° de handle est valide
si w_handle2 <> w_handle3 alors // il ne s'agit plus de la meme
fenêtre
envoietouche("%O",w_handle3) ////confirme l'enregistrement (alt+o)
ou annul (alt+n)
multitache(20) //
fin
fin
fin
fin
sortir
FIN
fin
FIN
//////// fermeture de l'application
envoietouche("%{F4}",w_handle) //// envoie F4 pour quitter le programme
multitache(10) //// pause




Didier Girod