Manipuler OpenOffice.org avec Delphi [Résolu]

Messages postés
9
Date d'inscription
lundi 11 octobre 2004
Dernière intervention
30 décembre 2005
- - Dernière réponse : beckerich
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
- 13 avril 2009 à 18:20
Cela fait maintenant une semaine que je galère pour réaliser un publipostage avec openoffice (en le pilotant avec delphi).

Est ce que quelqu'un aurait déjà réalisé cette opération.?..

Actuellement je peux faire une fusion (mailmerge) mais j'ai un problème avec le datasource
Ca commence à devenir désespérant...
Dyvim
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Messages postés
3
Date d'inscription
mardi 20 avril 2004
Dernière intervention
28 novembre 2005
3
Merci
Tu trouveras peut etre des info dans ce zip

il contient des sources et une doc

http://fr.openoffice.org/Documentation/How-to/programmation/Delphi_OOo_v10fr.zip

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_mathieu49
Messages postés
9
Date d'inscription
lundi 11 octobre 2004
Dernière intervention
30 décembre 2005
3
Merci
Merci pour le lien...
Mais j'avais déjà trouvé tout ce qu'il me fallait justement sur le site
fr.openoffice.org
On peut y trouver une série de HowTo très interessante et surtout une liste de diffusion consacrée à la programmation sous OpenOffice ou à la manipulation de OOo par son API...
Autres choses interessantes le SDK ou la dernière version de OOo qui y sont téléchargeable...
Il existe aussi un site en langue anglaise sur ces thèmes www.openoffice.org
Sinon je recommandes aussi le livre de B. Marcelly et L. Godard Programmez OpenOffice.org.
Bon courae à tous ceux qui se lanceraient dans la programmation de l'API...

Dyvim

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de dyvim
Messages postés
9
Date d'inscription
lundi 11 octobre 2004
Dernière intervention
30 décembre 2005
3
Merci
As tu été voir les deux sites : http://fr.openoffice.org/ et http://www.openoffice.org/
Tu as des forums / mailing list qui possèdent la reponse à ta question.

Essaye cette page là sinon http://www.mail-archive.com/cgi-bin/htsearch?restrict=;exclude=;config=prog_fr_openoffice_org;method=and;format=short;words=publipostage;page=3http://www.mail-archive.com/prog@fr.openoffice.org/msg00434.html
Si tu regardes les différents threads tu devrais avoir la réponse à ta question..
Tu peux essayer de chercher thomas coquery

Si tu le sens bien en anglais va voir là aussi
http://www.oooforum.org/forum/search.phtml?mode=results
recherche mailmerge...
sur le forum anglais cherche auteur = dyvim

Si tu ne trouves vraiment pas alors je verrais pour mettre mes sources en ligne

Dyvim

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de dyvim
Messages postés
9
Date d'inscription
lundi 11 octobre 2004
Dernière intervention
30 décembre 2005
3
Merci
Je ne comprends pas bien ce que tu veux faire. Il ne s'agit pas d'un publipostage en fait? Essaie de me dire exactement ce que tu veux obtenir....
Sinon je ne penses pas que les textCursor soient ce que tu cherches.
Si tu cherches des champs que tu pourrais remplir avec des données, il s'agit de TextField.

Je te conseille fortement le bouquin de B. Marcelly et L. Godard Programmez OpenOffice.org.
si tu dois developper longtemps avec OOo.
Sinon il te faudra le SDK et pas mal de patience pour t'y retrouver dans l'API.(et surtout l'outil XRay de L. Godard qui permet de voir les attributs et méthodes des objets de l'API voir site fr.openofffice.org)

Dyvim

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de dyvim
Messages postés
1232
Date d'inscription
lundi 4 février 2002
Dernière intervention
4 octobre 2006
0
Merci
Hello,



Je ne sais pas si ca repondra exactement a ta demande mais voici un lien :

http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=568

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Commenter la réponse de jmp77
Messages postés
9
Date d'inscription
lundi 11 octobre 2004
Dernière intervention
30 décembre 2005
0
Merci
Et bien cette source est relativement interessante pour quelqu'un qui
ne saurais pas du tout manipuler office, mais ce que fait le code que
tu m'a filé, je savais déjà le faire (regardez la FAQ Delphi de
développez.com partie open office, toutes les bases (ouvrir un
document, le fermer, l'imprimer,...) y sont ).

Non ma demande est un peu plus pointue et concerne le PUBLIPOSTAGE et la crtéation de DATASOURCE...

Merci quand même et sinon ce site à l'air très intéressant.

Dyvim
Commenter la réponse de dyvim
Messages postés
2
Date d'inscription
mardi 27 décembre 2005
Dernière intervention
29 décembre 2005
0
Merci
Salut à tous,



Je cherche moi aussi à faire du publipostage avec OpenOffice depuis
Delphi. J'ai déjà fait la même chose avec Word mais apparemment cela ne
fonctionne pas de la même façon. J'aurais donc voulu savoir si
quelqu'un avait déjà réussi à faire ceci ?

J'arrive à ouvrir mon document avec OpenOffice mais je n'arrive pas à remplir les signets.

Merci d'avance.

@+
Commenter la réponse de bodruith
Messages postés
2
Date d'inscription
mardi 27 décembre 2005
Dernière intervention
29 décembre 2005
0
Merci
Merci pour ces liens. En fait ce que je voudrais c'est utiliser des
repères de texte comme ça j'ai juste à me déplacer jusqu'au repère où
je veux insérer mon texte. C'est un peu comme des bookmark je pense. Ca
ressemble aux signets de Word en fait. Le problème c'est que je ne sais
pas comment récupérer ces repères de texte avec Delphi. D'ailles est-ce
que ces repères correspondent bien à des TextCursor ?



@+
Commenter la réponse de bodruith
Messages postés
5
Date d'inscription
lundi 7 janvier 2013
Dernière intervention
7 janvier 2013
0
Merci
Bonjour,
Moi aussi j'ai le même problème : mettre du texte sur des signets dans un document OppenOffice avec un programme Delphi.
Avez-vous résolu ce problème? Si oui je suis preneur.
Merci
Commenter la réponse de jfpetit
Messages postés
5
Date d'inscription
lundi 7 janvier 2013
Dernière intervention
7 janvier 2013
0
Merci
Bonjour,
Je viens de trouver la réponse. Voici l'adresse :
http://www.oooforum.org/forum/viewtopic.phtml?t=39444&highlight=delphi+openoffice
A+
Commenter la réponse de jfpetit
Messages postés
5
Date d'inscription
lundi 7 janvier 2013
Dernière intervention
7 janvier 2013
0
Merci
Bonjour,
Je viens de trouver la réponse. Voici l'adresse :
http://www.oooforum.org/forum/viewtopic.phtml?t=39444&highlight=delphi+openoffice
A+
Commenter la réponse de jfpetit
Messages postés
2
Date d'inscription
dimanche 19 décembre 2004
Dernière intervention
3 octobre 2007
0
Merci
Bonjour,
Je souhaite faire la même chose que vous,
du publipostage avec open office et Delphi

Merci d'avance pour votre aide

Nicolas
Commenter la réponse de phaysane3
Messages postés
5
Date d'inscription
lundi 7 janvier 2013
Dernière intervention
7 janvier 2013
0
Merci
Bonjour Nicolas,

Je n'ai pas fait de publipostage avec OpenOffice et Delphi. Je n'ai fait que produire des documents .doc à partir de modèles .dot en les modifiant avec Delphi.
Si cela peut vous aider!

JFPETIT
Commenter la réponse de jfpetit
Messages postés
308
Date d'inscription
jeudi 29 septembre 2005
Dernière intervention
17 septembre 2013
0
Merci
salut à tous,

pour insérer du texte sur un signet d'un document openoffice swriter, un exemple de code en gras :

function NouveauMenuDuJour(d_datdeb, d_datfin: TDateTime): Variant;
var
  oo, doc, txt, bmk: Variant;
  s_template: string;
  d1,d2,m1,m2,y1,y2: word;
  d_prx: double;
begin
  Result := Unassigned;
  d_prx  := 0;

  CreeInstanceDeOO(oo, True);
  try
    with GO_DIC do
    begin
      cle := 'admin';
      code := 'repges';
      if Lire then
        s_template := Element[1] + Element[2];
    end;

    with GO_DIC do
    begin
      cle := 'admin';
      code := 'modèles';
      if Lire then
        s_template := s_template + Element[1];
    end;

    with GO_DIC do
    begin
      cle := 'admin';
      code := 'mod_mnujou';
      if Lire then
        s_template := s_template + Element[1];
    end;

    with GO_DIC do
    begin
      cle := 'admin';
      code := 'prx_mnudim';
      if Lire then
        d_prx := Valeur;
    end;

//    s_template := 'c:\millen_menu_du_jour.ott';
    CreerNouveauDocOO(doc, oo, CS_EDITEUR, s_template);

    { insertion des textes }
    txt := doc.Text;
    bmk := doc.Bookmarks.getByName('datmenjou').Anchor;
    DecodeDate(d_datdeb, y1,m1,d1);
    DecodeDate(d_datfin, y2,m2,d2);
    bmk.setString(Format('Menu du jour pour la semaine du %s au %s', [FormatDateTime('dd.mm', d_datdeb), FormatDateTime('dd.mm.yyyy', d_datfin)]));

    bmk := doc.Bookmarks.getByName('mercredi').Anchor;
    bmk.setString(FormatDateTime('dddd dd', d_datdeb));

    bmk := doc.Bookmarks.getByName('jeudi').Anchor;
    bmk.setString(FormatDateTime('dddd dd', d_datdeb+1));

    bmk := doc.Bookmarks.getByName('vendredi').Anchor;
    bmk.setString(FormatDateTime('dddd dd', d_datdeb+2));

    bmk := doc.Bookmarks.getByName('lundi').Anchor;
    bmk.setString(FormatDateTime('dddd dd', d_datfin));

    bmk := doc.Bookmarks.getByName('datmendim').Anchor;
    bmk.setString(Format('Menu du %s à %.2f € (servi uniquement le midi)', [FormatDateTime('dddd dd mmmm', d_datfin-1), d_prx]));

    Result := doc;
  finally
    DeconnecteDeOO(oo);
  end;
end;
Commenter la réponse de beckerich

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.