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

[WDnn] Open Office

6 réponses
Avatar
MMoreno
Bonjour,

Dans mon appli , je fais du publipostage avec Word. En fait je
n'utilise pas la methode PcSoft, de chercher et remplacer des chaines
de caractere dans le documane, mais plutot les fonctions de
publipostage de word (insertion de champs, fusion vers nouveau
document). Je dois fair ela meme chose pour Open Office, mais je ne le
connais pas. J'ai cherche (evidemment) avant de poster, et je n'ai pas
trouve dans Ooo de fonction 'automatique'. En fait il me semble que le
publipostage ne peut passer que par l'assistant de publipostage.
Quelque chose m'a echappe ?
En Bref . voila le code que j'utilise pour le publipostage dans word :

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Pour la creation de la lettre type
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
cWord=3Dobjetactif("Word.Application")
si cWord =3D null alors
cWord =3D allouer un objet ole "Word.Application"
fin
ConfirmConversions=3DcWord>>Options>>ConfirmConversions()
cWord>>Options>>ConfirmConversions=3Dolefaux
AssistantOn =3D cWord>>Assistant>>On()
AssistantVisible =3D cWord>>Assistant>>Visible()
cWord>>Assistant>>On =3D olefalse
cWord>>Assistant>>Visible =3D olevrai
cWord>>Visible =3D olevrai
cWord>>Documents>>Add()
cWord>>ActiveDocument>>MailMerge>>MainDocumentType =3D 0
cWord>>ActiveDocument>>MailMerge>>OpenDataSource(caract(34)+Glo_Repertoire+=
"\Parametres.doc"+caract(34))
cWord>>ActiveDocument>>SaveAs(caract(34)+glo_Repertoire+"\"+SAISIE1+carac=
t(34))
cWord>>Application>>WindowState =3D 1
cWord>>Options>>ConfirmConversions =3D ConfirmConversions
cWord>>Assistant>>Visible =3D AssistantVisible
cWord>>Assistant>>On =3D AssistantOn
liberer cword

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
Pour la fusion
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D

cWord =3D allouer un objet ole "Word.Application"
ConfirmConversions=3DcWord>>Options>>ConfirmConversions()
cWord>>Options>>ConfirmConversions=3Dolefaux
AssistantOn =3D cWord>>Assistant>>On()
AssistantVisible =3D cWord>>Assistant>>Visible()
cWord>>Assistant>>On =3D olefalse
cWord>>Assistant>>Visible =3D olevrai
cWord>>Documents>>Add()
cWord>>Selection>>TypeText(NomChamps)
si COMBO2 =3D 2 alors cWord>>Visible =3D olefaux
pour ii =3D 1 =E0 TABLE1..occurrence
si TBSEL[ii] =3D 1 alors
hlitrecherchesansbloquer("Client","CLCleUnique",COL3[ii])
si h.trouve alors
NomChamps =3D
Client.ClientNom+tab+Client.CliAdresse[1]+tab+Client.CliAdresse[2]+tab+Clie=
nt.CliAdresse[3]+tab+Client.CliCodePostal+tab+Client.CliVille+tab...
+
Client.CliNomFacture+tab+Client.CliAdresseFacture[1]+tab+Client.CliAdresseF=
acture[2]+tab+Client.CliAdresseFacture[3]+tab+Client.CliCodePostalFacture+t=
ab+Client.CliVilleFacture+tab...
+ tab+tab+tab+tab+rc
cWord>>Selection>>TypeText(NomChamps)
fin
FIN
FIN
fcopiefichier(Glo_Repertoire+"\"+COMBO1[COMBO1],Glo_RepTmp+COMBO1[COMBO1])
cWord>>Selection>>WholeStory()
cWord>>Selection>>ConvertToTable(1)
cWord>>ActiveDocument>>SaveAs(caract(34)+Glo_RepTmp+"Donnees.doc"+caract(34=
))
cWord>>Documents>>close(OLEFalse)
cWord>>Documents>>open(caract(34)+glo_RepTmp+COMBO1[COMBO1]+caract(34))
cWord>>ActiveDocument>>MailMerge>>OpenDataSource(caract(34)+Glo_RepTmp+"Don=
nees.doc"+caract(34))
cWord>>ActiveDocument>>MailMerge>>Destination=3D0
cWord>>ActiveDocument>>MailMerge>>Execute(olefaux)
selon COMBO2
cas 1
cWord>>Windows(2)>>Activate()
cWord>>ActiveDocument>>Close(OLEFalse)
cas 2
cWord>>PrintOut()
cWord>>Documents>>close(OLEFalse)
fin
cWord>>Application>>WindowState =3D 1
cWord>>Options>>ConfirmConversions =3D ConfirmConversions
cWord>>Assistant>>Visible =3D AssistantVisible
cWord>>Assistant>>On =3D AssistantOn
si COMBO2 =3D 2 alors cWord>>Quit()
liberer cword

Est il 'traduisible' pour Open Office ?

Merci beaucoup de vos reponses eclairees.

6 réponses

Avatar
patrice
"MMoreno" a écrit dans le message de
news:
connais pas. J'ai cherche (evidemment) avant de poster, et je n'ai pas
trouve dans Ooo de fonction 'automatique'. En fait il me semble que le



faut googler "openoffice automation"
Avatar
MMoreno
On Nov 17, 4:37 pm, "patrice"
wrote:
"MMoreno" a écrit dans le message denews:116377695

>connais pas. J'ai cherche (evidemment) avant de poster, et je n'ai pas
>trouve dans Ooo de fonction 'automatique'. En fait il me semble que lefa ut googler "openoffice automation"



Bonjour,

Merci de ta reponse. En fait l'automation ds Ooo, ca va je connais (je
m'en sers pour les feuilles de calcul). En fait ma question etait
d'ordre plus general sur Ooo. Je voudrais savoir si ce que je fais avec
Word, je peux aussi le faire avec Ooo. Ou si je dois OBLIGATOIREMENT
passer par l'assistant de publipostage. Et donc dans ce cas , meme
avec automation, je pourrais pas. C'est pour cela que j'avais mis mon
code a titre d'exemple, pour bien montrer a quoi je voulais arriver.
Pas pour qu'on me le traduise. (Quoique si quelqu'un veut bien me
donner quelques tuyqux, ce sera avec plaisir)

Michel
Avatar
Gégé
Sans ses moufles, MMoreno a écrit :
(Quoique si quelqu'un veut bien me
donner quelques tuyqux, ce sera avec plaisir)



Je rappelle que les fichiers OpenDoc sont très faciles à réaliser. C'est
un assemblage de XML compressé au format ZIP.

[pub]
www.forum-openoffice.org
[/pub]
Avatar
Michel
MMoreno a écrit :
Bonjour,

Dans mon appli , je fais du publipostage avec Word. En fait je
n'utilise pas la methode PcSoft, de chercher et remplacer des chaines
de caractere dans le documane, mais plutot les fonctions de
publipostage de word (insertion de champs, fusion vers nouveau
document). Je dois fair ela meme chose pour Open Office, mais je ne le
connais pas. J'ai cherche (evidemment) avant de poster, et je n'ai pas
trouve dans Ooo de fonction 'automatique'. En fait il me semble que le
publipostage ne peut passer que par l'assistant de publipostage.
Quelque chose m'a echappe ?
En Bref . voila le code que j'utilise pour le publipostage dans word :

=====================================


Ce thème a été abordé lors des windeverie 2004, c'est un travail
collectif avec Patrick et Alain, une classe (writerOoo) est dispo sur le
site de l'asso, le hic c'est que Ooo était en version 1.x.
Mais l'idée est là, tu peux piocher dedans, tu trouveras peut-être ton
bonheur.


http://www.windasso.org/cgi-bin/gespage?exec=dl&fic=OpenOffice.zip&IDSESSIONƒ7163


Bon courage
Michel
Avatar
MMoreno
On Nov 18, 9:16 am, Michel wrote:
MMoreno a écrit :

> Bonjour,

> Dans mon appli , je fais du publipostage avec Word. En fait je
> n'utilise pas la methode PcSoft, de chercher et remplacer des chaines
> de caractere dans le documane, mais plutot les fonctions de
> publipostage de word (insertion de champs, fusion vers nouveau
> document). Je dois fair ela meme chose pour Open Office, mais je ne le
> connais pas. J'ai cherche (evidemment) avant de poster, et je n'ai pas
> trouve dans Ooo de fonction 'automatique'. En fait il me semble que le
> publipostage ne peut passer que par l'assistant de publipostage.
> Quelque chose m'a echappe ?
> En Bref . voila le code que j'utilise pour le publipostage dans word :

> ======================= ==============Î thème a été abordé lors des windeverie 2004, c'est un travail
collectif avec Patrick et Alain, une classe (writerOoo) est dispo sur le
site de l'asso, le hic c'est que Ooo était en version 1.x.
Mais l'idée est là, tu peux piocher dedans, tu trouveras peut-être ton
bonheur.

http://www.windasso.org/cgi-bin/gespage?exec=dl&fic=OpenOffice.zip&ID ...

Bon courage
Michel



Bonjour,

je viens de le charger et je vais l'etudier. l'exemple fonctionne avec
Ooo 2.0. Mais je crois que mon gros probleme va etre ma meconnaissance
de Ooo. Ca a pas l'air evident cote utilisateur final, l'insertion de
champs dans le document type ....

En tous cas , merci beaucoup

Michel
Avatar
Michel
MMoreno a écrit :
>
>
> je viens de le charger et je vais l'etudier. l'exemple fonctionne avec
> Ooo 2.0. Mais je crois que mon gros probleme va etre ma meconnaissance
> de Ooo. Ca a pas l'air evident cote utilisateur final, l'insertion de
> champs dans le document type ....
>
> En tous cas , merci beaucoup
>
> Michel
>

tu devrais trouver des infos dans les How-to directement sur le site de
Oo. Par exemple :

http://fr.openoffice.org/Documentation/How-to/writer/Publipostage.pdf

Les soucis rencontrés lors de l'élaboration de cette classe se situaient
surtout au niveau des fonctions de conversion en UTF8 de Windev qui ne
fonctionnaient pas en V8 et aussi au niveau des fonctions XML qui ne
reconnaissait pas les namespace. J'imagine que maintenant en version 10
(voir 11) il y a du code correct derrière ces fonctions.


Michel