IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

Sous Word depuis Delphi


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut Sous Word depuis Delphi
    Voilà je crée un tableau dans un nouveau document Word.

    Je le rempli..

    Mais vers la fin je shoutait rajouter une ligne a la fin de mon tableau.

    Mais je ne trouve pas...

    Quelque a-t-il une idée.

    Meric d'avance
    A.Morel

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    salut,

    Don si j'ai compris tu souhaites ajouter un texte a la fin de ton tableau,
    ma foie tu peux ton simplement dans word Insertion puis Signet... tu mes le nom(ici WURL) de ton signet ala fin de ton tableau afin de mettre ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    procedure ...
    var
       Docu, asaveChange: OleVariant;
       vBookMark, vBookMarks, vContent: Variant;
       Visualiser                     : integer;
    begin
       Docu:='C:\test.doc';
       WordApplication1.Documents.Open  (Docu,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
         WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
         vBookMarks:= WordDocument1.Bookmarks;
                 vBookMark:=vBookMarks.Item('WURL');//Nom du signet
                 vBookMark.Select;
                 vContent:=vBookMark.Range;
                 vContent.InsertAfter('http://<a href="http://www.developpez.com&#39;);" target="_blank">www.developpez.com');</a>
        Docu:='C:\testbis.doc';//ici tu change de nom pour ne par avoir ton originale modifier
       aSaveChange:= False;
       WordDocument1.SaveAs(Docu);
    end;
    j'éspére t'avoir aider si tu veux plus tu le demande sinon si ce n'est pas ce que tu demande peux tu reformuler ta question
    ----------------Citation de la semaine--------------
    Le travail est l'opium du peuple, je ne veux pas
    mourir drogué
    ----------------A la semaine prochaine-------------

  3. #3
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    Je souhait rajouter des lignes a mon tableau au fur et à mesure que je le rempli...
    A.Morel

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    A mon avis avant de lancer dans word tes données tu devrais faire une boucle afin de connaitre le nombre de données à envoyer. J'ai dejà fais ça une fois avec le code suivant.
    Mais si tu ne sais pas ce que tu envoyes et le nombre de données dans ton tableau et bien....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        procedure CreerUnTableau(Var InstanceDeWord, Doc : Variant; NbreLigne,NbreColonne : Integer);
        begin
           Doc.Tables.add(InstanceDeWord.selection.Range,NbreLigne,NbreColonne );
        end;
    cela peut-il répondre ou te mettre sur une piste?

    PS: Je pense pas que ses soit possible de modifier les colonnes d'un tableau créer auparavant faut voir en vb et voler son code
    ----------------Citation de la semaine--------------
    Le travail est l'opium du peuple, je ne veux pas
    mourir drogué
    ----------------A la semaine prochaine-------------

  5. #5
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    Je sais que c'est possible en vb, il faut sélectionner la dernière ligne et faire un tab !!

    Mais comment le faire avec delphi ???
    A.Morel

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    alors voila ton trésor :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       Docu:='C:\Test.doc';
       WordApplication1.Connect;
       WordApplication1.Visible:=True;
     
       WordApplication1.Documents.Open(Docu,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
       EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
       EmptyParam,EmptyParam,EmptyParam);
       WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
       WordApplication1.Run('Macro1');
    Passe par une macro alors
    ----------------Citation de la semaine--------------
    Le travail est l'opium du peuple, je ne veux pas
    mourir drogué
    ----------------A la semaine prochaine-------------

  7. #7
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    non on doit pouvoir le faire sans macro !!!
    A.Morel

  8. #8
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    On peut le faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Var Tableau:Table;
        i:Integer;
        DefaultTableBehavior,
        AutoFitBehavior: OleVariant;
     
        Lignes: Rows;
        BeforeRow: OleVariant;
     
    begin
      DefaultTableBehavior:=wdWord9TableBehavior;
      AutoFitBehavior:=wdWord8TableBehavior;
      Tableau:=WordDocument1.Tables.Add(WordDocument1.Range,5,3,
                                        DefaultTableBehavior,AutoFitBehavior);
     
      For i:= 1 To Tableau.Rows.Count Do
        Tableau.Cell(i, 2).Range.Text := 'Mon texte '+IntToStr(i);
        //Récupére la derniére ligne
      BeforeRow:=Tableau.Rows.Item(Tableau.Rows.Count);
       // Ajoute avant la derniére
      Tableau.Rows.Add(BeforeRow);
    End;
    L'inconvénient est qu'on ne peut pas insérer une nouvelle ligne aprés la derniére ligne. Il n'existe pas de paramètre AfterRow
    Dans ton cas ajoute une ligne supplémentaire lors de la création et supprime-la en fin de traitement.

    Tu n'as pas accés à la doc de Word ?

  9. #9
    Membre habitué Avatar de alexmorel
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2003
    Messages : 196
    Points : 157
    Points
    157
    Par défaut
    Merci ça fonctionne super...
    A.Morel

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    cool ça pourrait me servir (me casser la tête depuis hier)
    ----------------Citation de la semaine--------------
    Le travail est l'opium du peuple, je ne veux pas
    mourir drogué
    ----------------A la semaine prochaine-------------

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/09/2007, 21h12
  2. insérer une image sous word depuis vba-A
    Par Ofeneim dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/05/2007, 10h32
  3. Comment Imprimer un document Word depuis Delphi ?
    Par jwff_22 dans le forum Delphi
    Réponses: 1
    Dernier message: 28/03/2007, 20h24
  4. tableau word depuis delphi
    Par oliflo dans le forum Delphi
    Réponses: 10
    Dernier message: 11/09/2006, 08h59
  5. Insérer un tableau sous Word depuis Delphi
    Par muquet dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo