PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Recherche dev sur OLE Word
Recherche dev sur OLE Word
Débuté par Christophe BRUYAT, 26 juil. 2005 17:12 - 13 réponses
Posté le 26 juillet 2005 - 17:12
Sans question particulière, je développe beaucoup d'applications qui ont des liens d'édtions sous Word par des objet OLE dynamique : adaptations de modèles créés sous Word puis adapté au cas par cas :
- transfert de données
- fabrication de tableaux
- mise en page
- ...

Si vous êtes inhtéressés par d'éventuels échanges de dév. VB Script de Word, d'idées et problèmes et leur résolmution , contactez-moi

Christophe
Posté le 26 juillet 2005 - 19:02
Bonjour,


Je suis a la recherche des commandes OLE qui me permettrait de creer un tableau dans word ainsi que des commandes qui me permettrait de le gerer (largeur des colonnes, ajouter une ligne, ...)

Pour l'instant, je cree mon doc word a partir d'un modele et y remplace certaines variables predefinies par des donnees de ma base de donnees HF

Merci d'avance

Christelle
Posté le 27 juillet 2005 - 10:07
Salut

Je suis interessé, mais ce que je souhaiterai de plus c'est de pouvoir créer des modéls d'états sur mésure c'est à dire suivant des documents qui me seront remit.

exemple créer un modél de titre de congé par Word et qui sera par la suite rempli suivant les données formulait par une application développée sous windev


Voilà, je te remerci d'avance pour ton aide
Posté le 27 juillet 2005 - 10:12
Bonjour,

Ci joint un exemple pour copier d'un champ table vers word.

MeTable est un objet OLE dynamique
MeDocument est un objet OLE dynamique

MeDocument = allouer un objet OLE "Word.Application"
....

// Aller à la fin du document
MeDocument>>Selection>>EndKey(6)

// Insérer le tableau
EngTotal = TableOccurrence(Table1,toTotal)
MeTable = MeDocument>>ActiveDocument>>Tables>>Add(MeDocument>>Selection>>Range,EngTotal+3, 6)
MeTable>>AutoFormat(1)
MeTable>>AutoFitBehavior(1)


//Entete du tableau
MeTable>>Cell(1, 1)>>Range>>Text = "Qt"
MeTable>>Cell(1, 2)>>Range>>Text = "Description"
MeTable>>Cell(1, 3)>>Range>>Text = "Unité"
MeTable>>Cell(1, 4)>>Range>>Text = "PU HT"
MeTable>>Cell(1, 5)>>Range>>Text = "PT HT"

// Copie du tableau
POUR EngEnCours = 1 A EngTotal
TableSelectPlus(Table1, EngEnCours )
MeTable>>Cell(EngEnCours+1 , 1)>>Range>>Text = NumériqueVersChaîne(Table1.Quantite)
MeTable>>Cell(EngEnCours+1 , 1)>>Range>>ParagraphFormat>>Alignment = 2
MeTable>>Cell(EngEnCours+1 , 2)>>Range>>Text = SansEspace(Table1.Titre)
MeTable>>Cell(EngEnCours+1 , 3)>>Range>>Text = SansEspace(Table1.Unite)
MeTable>>Cell(EngEnCours+1 , 4)>>Range>>Text = SansEspace(NumériqueVersChaîne(Table1.PU,"10.2fS")) + " €"
MeTable>>Cell(EngEnCours+1 , 4)>>Range>>ParagraphFormat>>Alignment = 2
MeTable>>Cell(EngEnCours+1 , 5)>>Range>>Text = SansEspace(NumériqueVersChaîne(Table1.PT,"10.2fS")) + " €"
MeTable>>Cell(EngEnCours+1 , 5)>>Range>>ParagraphFormat>>Alignment = 2
MeTable>>Cell(EngEnCours+1 , 6)>>Range>>Text = SansEspace(Table1.Obs)
TableSelectMoins(Table1, EngEnCours)
FIN

Cordialement,

C.AUBRY
Posté le 27 juillet 2005 - 11:46
Merci beaucoup pour ton aide.....

J'aurai voulu savoir si tu savais comment on peut recuperer du texte a partir de word. Ex : Je selectionne du texte dans word (ca j'y arrive) mais je voudrais pouvoir le rapatrier dans windev... Mais comment

Encore Merci

Christelle
Posté le 27 juillet 2005 - 17:24
Bonjour,

xTexte est une chaine

Pour un tableau
.... >>Cell( N° ligne, n° colone):SELECT()
xTexte = ObjetWord>>Selection>>Text_

xTexte = au texte contenu dans la cellule.

Cordialement,

C.AUBRY
Posté le 02 août 2005 - 14:31
La fonction 'copy' te permettra de mettre le texte sélectionné dans le presse papier....
Tu pourras ainsi le récupérer dans windev ou le coller dans un autre document Word

Fred
Posté le 04 août 2005 - 13:14
Bonjour,
Je souhaite, à partir d'une appli Windev, renseigner un certains nombre de champ d'un document Word avant d'imprimer ce document...
Je ne sais pas comment m'y prendre, un aide serait bienvenue.
Merci d'avance
CBesnard
Posté le 04 août 2005 - 16:27
Corinne Besnard a écrit :
Bonjour,
Je souhaite, à partir d'une appli Windev, renseigner un certains nombre de champ d'un document Word avant d'imprimer ce document...
Je ne sais pas comment m'y prendre, un aide serait bienvenue.
Merci d'avance
CBesnard


Quelle version de WD ?
J'ai fait un truc dans ce genre en WD5.5. Avec un modèle de devis sous
Word (.dot), création d'un devis personnalisé depuis WD, sauvegarde et
impression ...

--
Ami Calmant
Stéphane
Posté le 05 août 2005 - 13:46
Bonjour,

De même que Corinne, je cherche à réaliser un publipostage automatique de WinDev (9) via des commandes OLE AUTOMATION.

Mon objectif semble assez simple : d'un document Word de référence (modèle...) je cherche à réaliser une fusion avec des données issues d'un fichier Excel (données issues de WinDev par le biais de la commande : TableversExcel. Le résultat final souhaité serait le document Word fusionné avec un nom de fichier déterminé.

Quelqu'un aurait-il les listes des commandes utiles et détaillées afin que je puisse les intégrer dans mon code ? D'avance Merci !
Posté le 09 août 2005 - 14:06
Bonjour,

[ WD9 ] et WORD 03. Quelqu'un pourrait - il me fournir le code VB traduit windev pour réaliser un publipostage directement vers l'imprimante sans créer un nouveau document. Je n'arrive sans probleme à imprimer une fusion par OLE mais uniquement dans un nouveau document.

Merci beaucoup ... d'avance ...

Cdt, Jérémie.
Posté le 22 août 2005 - 23:02
Bonsoir,
Je recherche la syntaxe pour faire une fusion sous word
Je réussi sans problème à faire un publipostage en appuyant sur" l'icone bouton "dans Word,
mais je voudrais bien le faire directement à partir de windev (j'ai essayer de faire une macro dans word et de copier les proprietés ou les méthodes, de la macro dans windev type de syntaxe: cword>>activedocument>>data...>>firstrecord... , quand j'execute le programme WinDev crieeeeeeeee haut et fort qu'il ne connait pas l'objet automation, ou la methode de classe.)

Je vous remercie d'avance .

Hervé

herve.duchaussoy@free.fr
Posté le 23 août 2005 - 11:28
Bonjour

Voici ce que j'utilise :

// verification que le document est un document de fusion
IF :oad_Word>>ActiveDocument>>MailMerge>>MainDocumentType = :e_wdNotAMergeDocument THEN
RENVOYER Faux
END

// verification que le document posséde une source de donnéee
IF :oad_Word>>ActiveDocument>>MailMerge>>State <> :e_wdMainAndDataSource AND ...
:oad_Word>>ActiveDocument>>MailMerge>>State <> :e_wdMainAndSourceAndHeader THEN
RENVOYER Faux
END

// destination de la fusion vers un nouveau document
:oad_Word>>ActiveDocument>>MailMerge>>Destination = :e_wdSendToNewDocument

// execution de la fusion
:oad_Word>>ActiveDocument>>MailMerge>>Execute(Faux)

Thierry

Hervé a écrit :
Bonsoir,
Je recherche la syntaxe pour faire une fusion sous word
Je réussi sans problème à faire un publipostage en appuyant sur" l'icone bouton "dans Word,
mais je voudrais bien le faire directement à partir de windev (j'ai essayer de faire une macro dans word et de copier les proprietés ou les méthodes, de la macro dans windev type de syntaxe: cword>>activedocument>>data...>>firstrecord... , quand j'execute le programme WinDev crieeeeeeeee haut et fort qu'il ne connait pas l'objet automation, ou la methode de classe.)

Je vous remercie d'avance .

Hervé

herve.duchaussoy@free.fr

Posté le 16 septembre 2005 - 09:20
Bonjour je suis complétement débutant et j'aurais besoin d'un exemple comment
préremplir une lettre Word (maCompanie.dot) avec l'adresse du client depuis ma fiche clients.

Si enplus un lien vers la doc OLE Word ce serais suppert