WD12 - Publipostage word

Le
I.G.LOG
Bonjour,
J'essai d'adapter l'exemple WD Pilotage Word afin que l'utilisateur puisse
mettre en page une lettre de relance et, ensuite, exécuter le publipostage.
Pour cela, je voudrais qu'il puisse insérer les champs de fusion dans le
document, de préférence à partir d'une fenêtre Windev où il pourra
sélectionner ces champs (un genre de dictionnaire).
Je ne connais pas la commande Automation pour insérer un champ, j'ai essayé
sans succès
:m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,"Hello")

Connaissez vous cette commande ?
Savez vous où je peux trouver de l'aide sur les commandes disponibles en OLE
Automation Word ?
En second lieu, pensez vous qu'on puisse - depuis ce pilotage - exécuter le
menu word "insérer champ" ?

Merci à tous
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles
Le #18932531
I.G.LOG avait prétendu :
Bonjour,
Connaissez vous cette commande ?
Savez vous où je peux trouver de l'aide sur les commandes disponibles en OLE
Automation Word ?
En second lieu, pensez vous qu'on puisse - depuis ce pilotage - exécuter le
menu word "insérer champ" ?

Merci à tous



Créé une macro, fais ta manip, et analyse le code généré...

Gilles.
I.G.LOG
Le #18932691
"Gilles"
I.G.LOG avait prétendu :
Bonjour,
Connaissez vous cette commande ?
Savez vous où je peux trouver de l'aide sur les commandes disponibles en
OLE Automation Word ?
En second lieu, pensez vous qu'on puisse - depuis ce pilotage - exécuter
le menu word "insérer champ" ?

Merci à tous



Créé une macro, fais ta manip, et analyse le code généré...

Gilles.





Bonjour,
Malheureusement je ne connais pas ces manipulations sous Word (macro et code
généré)
Merci quand même
Gilles
Le #18932681
Dans son message précédent, I.G.LOG a écrit :
"Gilles"
I.G.LOG avait prétendu :
Bonjour,
Merci à tous


Créé une macro, fais ta manip, et analyse le code généré...
Gilles.


Bonjour,
Malheureusement je ne connais pas ces manipulations sous Word (macro et code
généré)
Merci quand même



C'est dommage, c'est la manière la plus simple de travailler avec
l'automation.
Chercher "Macros" dans le menu, faire "nouveau", démarrer
l'enregistrement, faire ses manipulations, arrêter l'enregistrer et
regarder le code VB de la macro, est à la portée de n'importe qui.

Accessoirement, le bouton "F1" ou le menu aide dans Word, à la rubrique
Macro est plus que riche de renseignements.

Gilles.
I.G.LOG
Le #18933061
>
C'est dommage, c'est la manière la plus simple de travailler avec
l'automation.
Chercher "Macros" dans le menu, faire "nouveau", démarrer
l'enregistrement, faire ses manipulations, arrêter l'enregistrer et
regarder le code VB de la macro, est à la portée de n'importe qui.

Accessoirement, le bouton "F1" ou le menu aide dans Word, à la rubrique
Macro est plus que riche de renseignements.

Gilles.




Merci beaucoup je vais creuser ça.
Bon dev.
I.G.LOG
Le #18933911
> C'est dommage, c'est la manière la plus simple de travailler avec
l'automation.
Chercher "Macros" dans le menu, faire "nouveau", démarrer
l'enregistrement, faire ses manipulations, arrêter l'enregistrer et
regarder le code VB de la macro, est à la portée de n'importe qui.

Accessoirement, le bouton "F1" ou le menu aide dans Word, à la rubrique
Macro est plus que riche de renseignements.

Gilles.




Je suis en Word pour Office XP (donc Word 2002) et je n'ai pas de possibilté
de démarrer l'enregistrement !? (je ne trouve pas cette possibilité dans
"macro")
Je vais étudier l'aide (ce que je voulais éviter si ca avait été possible)
Merci
I.G.LOG
Le #18933971
dans Visual Basic Editor, l'enregistrement de la macro donne:

Selection.TypeText Text:=" "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:=
_
"MERGEFIELD raison ", PreserveFormatting:=True

J'ai converti ça dans Windev sous la forme:

:m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,"wdFieldEmpty","MERGEFIELD
raison","True")

essai aussi avec :
:m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,:m_xWord>>wdFieldEmpty,"MERGEFIELD
raison",:m_xWord>>True)

mais aucune solution ne fonctionne (rien n'est inséré dans le document).
Quelqu'un a-t-il un début de piste ?
Merci
JeAn-PhI
Le #18934581
I.G.LOG avait écrit le 19/03/2009 :
dans Visual Basic Editor, l'enregistrement de la macro donne:

Selection.TypeText Text:=" "
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, Text:= _
"MERGEFIELD raison ", PreserveFormatting:=True

J'ai converti ça dans Windev sous la forme:

m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,"wdFieldEmpty","MERGEFIELD


raison","True")

essai aussi avec :
m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,:m_xWord>>wdFieldEmpty,"MERGEFIELD


raison",:m_xWord>>True)

mais aucune solution ne fonctionne (rien n'est inséré dans le document).
Quelqu'un a-t-il un début de piste ?
Merci



wdFieldEmpty est une constante

--
Cordialement JeAn-PhI
I.G.LOG
Le #18935531
>
wdFieldEmpty est une constante

--
Cordialement JeAn-PhI




Bonjour,
wdFieldEmpty est une constante, comment dois je passer la valeur en
Automation ?
J'ai essayé ...,"wdFieldEmpty",... et ...,:m_xWord>>wdFieldEmpty,... sans
succès.
Quelle valeur a cette constante ? comment la trouver sous Word ?
Désolé mais c'est la 1ere fois que je me "frotte" aux macros de word.
Encore merci
I.G.LOG
Le #18937911
>
wdFieldEmpty est une constante




Finalement avec la code suivant ca fonctionne :

:m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,Vrai,"MERGEFIELD
raison",Vrai)

Donc wdFieldEmpty doit être un booleen !?
J'espère que je ne vais pas devoir trop programmer via OLE Automation car je
ne sais pas du tout où trouver ces renseignements. Existe t il une aide, une
doc... ?
Merci
JeAn-PhI
Le #18941001
Dans son message précédent, I.G.LOG a écrit :

wdFieldEmpty est une constante




Finalement avec la code suivant ca fonctionne :

m_xWord>>ActiveDocument>>Fields>>Add(:m_xWord>>Selection>>Range,Vrai,"MERGEFIELD


raison",Vrai)

Donc wdFieldEmpty doit être un booleen !?
J'espère que je ne vais pas devoir trop programmer via OLE Automation car je
ne sais pas du tout où trouver ces renseignements. Existe t il une aide, une
doc... ?
Merci



http://msdn.microsoft.com/en-us/library/bb213727.aspx

--
Cordialement JeAn-PhI
Publicité
Poster une réponse
Anonyme