Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

WD12 - Encore le publipostage Word

36 views
Skip to first unread message

I.G.LOG

unread,
Jun 16, 2009, 1:36:26 PM6/16/09
to
Bonjour � tous

Lors de l'ex�cution d'un publipostage, je rencontre un probl�me avec les
rubriques qui contiennent de RC (retour chariot + line feed).
En effet, quand je constitue le document de donn�es, les rubriques contenant
ce caract�re se retrouvent s�par�es dans plusieurs cellules du tableau.
Pour contourner le probl�me, je transforme les RC par "<br/>", je g�n�re le
tableau word par ConvertToTable(1).
Mais, bien s�r, je voudrais ensuite retrouver mes RC !!!

Pour �a j'ai de programm� un rechercher/remplacer avec :

:oWord>>Selection>>Find>>Execute("<br/>",Faux,Vrai,Faux,Faux,Faux,Vrai,1,Faux,Caract(13),2)

qui remplace toutes les occurrences <br/> par caract(13). Mais �a ne marche
pas puisque je me retrouve avec des petits carr�s au lieu du retour chariot
!!!
Nota: j'ai essay� avec RC, 13, Caract(13), "^013" ... sans succ�s (tjrs ces
carr�s)

Quelqu'un a-t-il d�j� p� r�gler ce probl�me ?

Merci pour vos r�ponses


I.G.LOG

unread,
Jun 16, 2009, 2:33:02 PM6/16/09
to
je craque avec la syntaxe OLE Word !!!

puisque je n'arrive pas � substituer des chaines par des caract�res
sp�ciaux, j'essai de remplir moi-meme le documents de donn�es;
je voudrais donc pouvoir ajouter un tableau puis modifier les cellules une �
une.
Mais l� je bloque aussi; voici mon code, qui ne fonctionne pas
malheureusement (erreur sur la m�thode cell n� 80020006, nom inconnu)

:oWord>>Selection>>Tables>>Add(:oWord>>ActiveDocument>>Range(0,0),1,y) //
Ca marche miraculeusement
POUR x = 1 A y
:oWord>>ActiveDocument>>Tables(1)>>Rows(1)>>Cell(x,y)>>Range>>InsertAfter("toto")
// Erreur sur Cell()
FIN

Pour r�sumer, je ne trouve pas le moyen de cr�er une table, s�lectionner les
cellules et leur affecter un texte !!!
Je suis compl�temet perdu dans les "range", les documents, les m�thodes qui
portent les m�mes noms que les propri�t�s, les "Selection"... en gros les
d�lires des savants qui ont invent� tout �a...
Ca devrait pourtant �tre simple !!!

Merci � tous


I.G.LOG

unread,
Jun 17, 2009, 1:05:12 AM6/17/09
to
... Un heureux connaisseur du VBA Word m'a donn� ce bout de code pour
remplir les cellules par programmation:

Sub testCell()

Dim oTbl As Table

Set oTbl = ActiveDocument.Tables.Add(Selection.Range, 2, 2)

oTbl.Rows.Add
oTbl.Cell(oTbl.Rows.Count, 1).Range.Select
Selection.TypeText "Avant" & vbTab & "Apr�s"

End Sub

... que je n'arrive pas du tout � traduire en windev (erreur sur Cell() ).

:oWord>>Selection>>Tables>>Add(:oWord>>ActiveDocument>>Range(0,0),1,y) //
Ca marche miraculeusement
POUR x = 1 A y
:oWord>>ActiveDocument>>Tables(1)>>Rows(1)>>Cell(x,y)>>Range>>InsertAfter("toto")
// Erreur sur Cell()
FIN

Comment s�lectionner une cellule ?
Si quelqu'un peut m'aider ?!

Encore merci


Pascal ROY

unread,
Jun 17, 2009, 2:29:33 AM6/17/09
to
I.G.LOG a �crit :
Je crois que l'objet Cell n'appartient pas � Rows mais � Tables !
C'est peut-�tre de l� que vient le probleme !
Dans l'exemple que t'as donn� le sp�cialiste VBA, on voit qu'il
ajoute une ligne en fin tableau et assigne les cellules directement !
--
Pascal ROY
(Service Informatique - SODALEC)

I.G.LOG

unread,
Jun 17, 2009, 2:42:54 AM6/17/09
to

> Je crois que l'objet Cell n'appartient pas � Rows mais � Tables !
> C'est peut-�tre de l� que vient le probleme !
> Dans l'exemple que t'as donn� le sp�cialiste VBA, on voit qu'il
> ajoute une ligne en fin tableau et assigne les cellules directement !
> --

Bonjour

Oui en effet (je ne sais pas du tout quel objet appartient � quel autre
objet - c'est bien �a mon probl�me en VBA)
Mais, apr�s maints efforts, voici le code windev qui fonctionne
parfaitement:

// 1ere ligne


:oWord>>Selection>>Tables>>Add(:oWord>>ActiveDocument>>Range(0,0),1,y)

POUR x = 1 A y

:oWord>>ActiveDocument>>Tables(1)>>Cell(1,x)>>Range = "toto" + x
FIN

// Suite
z++
:oWord>>selection>>Tables(1)>>Rows>>Add()


POUR x = 1 A y

:oWord>>ActiveDocument>>Tables(1)>>Cell(z,x)>>Range = "tutu" + x
FIN

Mais - surtout - ce code permet de s'affranchir des probl�mes des caract�res
sp�ciaux lors de la conversion des donn�es dans Word (ing�rables par
ConvertToTable() )
Le probl�me est r�solu (faut que je v�rifie "en profondeur" quand m�me)

Merci beaucoup


I.G.LOG

unread,
Jun 17, 2009, 4:04:30 AM6/17/09
to
A tout hasard, quelqu'un sait-il comment rendre word invisible lors du
publipostage ?
En effet, si je met :oWord>>Visible = faux, j'ai une erreur 80020006 !!
J'ai fait des recherches sur ce probl�me, je ne suis pas seul � l'avoir,
mais pas de solution !
Encore merci


0 new messages