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

Lazarus Pascal Discussion :

[0.9.24] Utilisation d'OLE pour piloter Excel [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut [0.9.24] Utilisation d'OLE pour piloter Excel
    Bonjour à toutes et à tous,

    Je ne peux plus utiliser delphi, je me suis donc rabattu sur Lazarus et free pascal. Je désire créer un fichier excel à l'aide d'un programme, pour cela, je me suis dit que c'était une bonne idée d'utiliser les objets OLE. Malheureusement, impossible d'afficher ou de faire quoi que ce soit avec l'objet créé. Voici mon code sous lazarus :

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    unit unit1;
     
    interface
     
    uses
      Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, sqldb,
      mysql50conn, ExtCtrls, StdCtrls, DBGrids, db, ComObj;
     
    type
     
      { TForm1 }
     
      TForm1 = class(TForm)
       Button1: TButton;
       Datasource1: TDatasource;
       DBGrid1: TDBGrid;
       MySQL50Connection1: TMySQL50Connection;
       Panel1: TPanel;
       SQLQuery1: TSQLQuery;
       SQLTransaction1: TSQLTransaction;
       procedure Button1Click(Sender: TObject);
      private
        { private declarations }
      public
        { public declarations }
      end; 
     
    var
      Form1: TForm1; 
     
    implementation
     
    { TForm1 }
    Var vMSExcel : olevariant;
     
    procedure TForm1.Button1Click(Sender: TObject);
     
    begin
         // Ouvrir excel
         Try
            vMSExcel := CreateOleObject('Excel.Application');
         Except
            ShowMessage('Impossible de démarrer Excel');
            Exit;
         End;
     
         Try
            vMSExcel.documents.open('c:\recapitulatif.xls');
         Except
            On e:exception do
               Begin
                    ShowMessage('Impossible ouvrir document'+#13+#10+
                                'Erreur : '+e.Message);
                    Exit;
               End;
         End;  
     
         Try
            vMSExcel.Application.Visible := True;
         Except
            On e:exception do
               Begin
                    ShowMessage('Impossible afficher excel'+#13+#10+
                                'Erreur : '+e.Message);
                    Exit;
               End;
         End;
     
    end;   
     
    initialization
      {$I unit1.lrs}
     
    end.
    J'ai bien évidemment suivi le tutoriel de la section delphi, mais j'obtiens à chaque un message d'erreur dès qu'il s'agit de manipuler l'objet créé (documents.open ou alors Visible := true ou encore application.visible := true) qui est :

    Method 'documents' is not supported by automation object
    dans le cas de l'ouverture de document,

    Membre introuvable
    dans le cas de l'action visible := true;

    et ceci que je déclare la variable vMSExcel en tant que variant ou olevariant.

    Quelqu'un aurait il une idée ? Après plusieurs heures de recherche sur le net, je n'ai rien de valable.

    Pour information, j'utilise Lazarus 0.9.24 beta avec fpc 2.2.0.

    D'avance merci et bonne journée.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 70
    Points : 77
    Points
    77
    Par défaut [Free pascal] - OLE pour piloter excel
    Re bonjour à toutes et à tous,

    Ne chercher pas une solution à mon problème, cela vient du fait que l'OLE ne sera supporté que à partir de la version 2.4, cela m'apprendra à ne pas lire la totalité de la doc.

    Bonne journée.

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

Discussions similaires

  1. [Lazarus] Utiliser les touches de fonction pour piloter
    Par Alea46 dans le forum Lazarus
    Réponses: 2
    Dernier message: 05/12/2010, 17h57
  2. Utilisation de liens OLE pour communiquer entre Excel et MySQL
    Par popsmelove dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 20/08/2009, 18h25
  3. Réponses: 7
    Dernier message: 20/06/2007, 11h31
  4. Réponses: 10
    Dernier message: 27/03/2007, 21h40
  5. quel est le Meilleur language pour piloter le port serie ?
    Par flyfab dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 21/07/2003, 10h03

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