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

WD12 - Publipostage word

11 réponses
Avatar
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

10 réponses

1 2
Avatar
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.
Avatar
I.G.LOG
"Gilles" a écrit dans le message de news:

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
Avatar
Gilles
Dans son message précédent, I.G.LOG a écrit :
"Gilles" a écrit dans le message de news:

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.
Avatar
I.G.LOG
>
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.
Avatar
I.G.LOG
> 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
Avatar
I.G.LOG
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
Avatar
JeAn-PhI
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
Avatar
I.G.LOG
>
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
Avatar
I.G.LOG
>
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
Avatar
JeAn-PhI
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
1 2