Thema: Delphi Excel Tabellen in Delphi

Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Excel Tabellen in Delphi

  Alt 29. Okt 2006, 09:20
Zitat von Jürgen Thomas:
Steht in der von Jens angegebenen Hilfedatei wirklich nichts darüber, wie Makro-Befehle in Delphi umzusetzen sind?
Nein, das ist die VBA Hilfe Datei für Excel. Mann muss nur wissen wie man das in Delphi umsetzt. Dafür ist es zwingend notwenig (für mich) die Excel2000.pas oder ExcelXP.pas Sourcedatei zu haben um die Makrobefehle darin zu finden.

Ich habe mal versucht mit den Serverkomponenten ein Beispiel zu basteln (ich verwende gundsätzlich die frühe Bindung)
Delphi-Quellcode:
procedure TForm1.GenerateChart;
var
  Cells : ExcelRange;
  DataRange : ExcelRange;
  ExcelChart : ChartObject;
  Chart : _Chart;
begin
  OpenExcel;
  Try
    ExcelApplication.Workbooks.Add(EmptyParam,FLCID);
    ExcelWorkbook.ConnectTo(ExcelApplication.ActiveWorkBook);
    ExcelWorksheet.ConnectTo(ExcelWorkbook.Sheets[1] as ExcelXP._WorkSheet);
    ExcelChart:=(ExcelWorkSheet.ChartObjects as ChartObjects).Add(20,20,200,200);
    ExcelChart.Name:='Chart1';
    Chart:=ExcelChart.Chart;

    Cells:=ExcelWorksheet.Cells;

    Cells.Item[1,1]:='U1';
    Cells.Item[1,2]:='U2';
    Cells.Item[1,3]:='V1';
    Cells.Item[1,4]:='V2';

    Cells.Item[2,1]:='1';
    Cells.Item[2,2]:='2';
    Cells.Item[2,3]:='3';
    Cells.Item[2,4]:='4';

    DataRange:=Cells.Range['A1','D2'];
    Chart.SetSourceData(DataRange,xlRows); // Hier gibt es eine Zugriffsverletzung
// ExcelChart.Chart.ChartType:=xlLine;


    // Jetzt das Ergebnis speichern
    ExcelWorkbook.SaveAs('c:\test.xls',EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   xlNoChange,
                                   EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   EmptyParam,
                                   FLCID);
  Finally
    CloseExcel;
  end;
end;
Warum es zu der Zugriffsverletzung kommt weiss ich noch nicht.
Angehängte Dateien
Dateityp: zip zip_515.zip (238,7 KB, 16x aufgerufen)
I come from outer space to save the human race
  Mit Zitat antworten Zitat