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

C++Builder Discussion :

Insertion d'un tableau Excel dans Word via Ole


Sujet :

C++Builder

  1. #1
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut Insertion d'un tableau Excel dans Word via Ole
    Voici comment inserer un tableau Excel dans un document Word en utilisant Ole
    le 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
     
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    Variant Connection, PasswordDocument, PasswordTemplate, WritePasswordDocument, WritePasswordTemplate, From, To;
    Connection = "";
    String SQLStatement = "SELECT Nom, Prenom, Age FROM [Feuil1$] WHERE ((Nom IS NOT NULL ) AND (Prenom IS NOT NULL ) AND (Age IS NOT NULL ))";
    PasswordDocument = "";
    PasswordTemplate = "";
    WritePasswordDocument = "";
    WritePasswordTemplate = "";
    String DataSource = "C:\\tableau.xls";
    From = -1;
    To = -1;
    vMSWord.OlePropertyGet("Selection").OlePropertyGet("Range").OleProcedure("InsertDatabase", 0, 0, false, Connection, SQLStatement.c_str(), PasswordDocument, PasswordTemplate, WritePasswordDocument, WritePasswordTemplate, DataSource.c_str()), From, To, true;
    }

  2. #2
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Est ce que on peut le faire avec un copier/coller en OLE ?

    @+

  3. #3
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    De Excel vers Word j'ai reussi a faire ceci
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include <utilcls.h> // ne pas oublier
    //#include <ComObj.hpp> // a ajouter dans certains cas
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    Variant vMSExcel, vXLWorkbooks, vXLWorkbook, vWorksheet;
    Variant vMSWord, vWDocuments, vWDocument;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    vMSExcel = Variant::CreateObject("Excel.Application");
    vMSExcel.OlePropertySet("Visible", true);
    vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks");
    vXLWorkbook = vXLWorkbooks.OleFunction("Add");
    vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets", 1);
     
    // copie d'une selection sur la Feuille Excel
    vWorksheet.OlePropertyGet("Range", "A1:D9").OleProcedure("Select");
    vMSExcel.OlePropertyGet("Selection").OlePropertyGet("Copy");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    try
            {
    //    vMSWord = Variant::GetActiveObject("Word.Application");
        vMSWord = Variant::CreateObject("Word.Application");
            }
    catch(...)
            {
        vMSWord = Variant::CreateObject("Word.Application");
            }
    vMSWord.OlePropertySet("Visible", true);
    vWDocuments = vMSWord.OlePropertyGet("Documents");
    vWDocument = vWDocuments.OleFunction("Add");
     
    // coller la selection sur le Document Word
    vMSWord.OlePropertyGet("Selection").OleProcedure("PasteExcelTable", false, false, false);
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    Application->Terminate();
    }
    //---------------------------------------------------------------------------
    Avec Excel 2003

  4. #4
    Membre chevronné
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Points : 1 884
    Points
    1 884
    Par défaut
    Bonjour,

    Très bien, merci encore une fois

Discussions similaires

  1. [XL-2003] Problème de collage de tableau Excel dans Word
    Par zert84 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/07/2009, 15h03
  2. Exporter Tableau excel dans Word avec Visual Basic
    Par charfamine dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/03/2009, 16h21
  3. [W-07] Insertion tableau excel dans Word
    Par bstcricq dans le forum Word
    Réponses: 3
    Dernier message: 24/09/2008, 17h45
  4. Insérer un Tableau excel dans Word via VBA depuis Excel
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/05/2008, 08h52

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