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
| procedure TForm_Etat.SpeedButton1Click(Sender: TObject);
var
BM: TBookMark;
Document: variant;
MonClasseur: variant;
MaFeuille: variant;
x,y: integer;
Procedure DansLaCase(const x,y: integer; const st: string; couleurfond: longint=-1; Format: integer=-1);
var MaCellule: variant;
astring: string;
wstring: widestring;
begin
MaCellule := Mafeuille.getCellByPosition(x, y);
astring := st;
wstring:=astring;
MaCellule.SetString(wstring);
if couleurFond>=0 then
MaCellule.CellBackColor := couleurfond;
// if Format>=0 then
// MaCellule.NumberFormat = Format;
end;
Procedure DansLaCase(const x,y: integer; const d: double;couleurfond: longint=-1; Format: integer=-1);
var MaCellule: variant;
begin
MaCellule := Mafeuille.getCellByPosition(x, y);
MaCellule.Value := d;
if couleurFond>=0 then
MaCellule.CellBackColor := couleurfond;
// if Format>=0 then
// MaCellule.NumberFormat = Format;
end;
begin
ConnectOpenoffice;
if IsOpenOfficeConnected then begin
Document := StarDesktop.LoadComponentFromURL('private:factory/scalc', '_blank', 0, dummyArray);
if Document.SupportsService('com.sun.star.sheet.SpreadsheetDocument') then begin
Document.title := WideString(UTF8TOAnsi(ComboBox1.Items[ComboBox1.ItemIndex]));
// on stoppe l'affichage de la grid
QueryEtat.DisableControls;
BM := QueryEtat.GetBookmark;
QueryEtat.First;
MonClasseur := Document.getSheets;
MaFeuille := MonClasseur.GetByName('Feuille1');
for x := 0 to QueryEtat.FieldDefs.Count-1 do
DansLaCase(x, 0, QueryEtat.FieldDefs.Items[x].DisplayName,$c0c0c0);
x := 0;
y := 1;
while not QueryEtat.EOF do begin
for x := 0 to QueryEtat.FieldCount-1 do
DansLaCase(x, y, QueryEtat.Fields[x].AsString);
QueryEtat.Next;
Inc(y);
end;
QueryEtat.GotoBookmark(BM);
QueryEtat.FreeBookmark(BM);
QueryEtat.EnableControls;
end else
Form_Main.SetErrorMessage(7, 'Erreur, le type de fichier créé n''est pas celui demandé !', true);
DisconnectOpenOffice;
end else Form_Main.SetErrorMessage(6, 'Impossible de se connecter à OpenOffice', true);
end; |
Partager