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.