Einzelnen Beitrag anzeigen

fwinner001

Registriert seit: 17. Jun 2015
2 Beiträge
 
#1

Probleme bei Übergabe von Daten an eine neue Excel-Tabelle - Fehler E2029

  Alt 24. Sep 2015, 17:01
Hallo zusammen,
ich bin neu in diesem Forum, habe es auch schon nach meinem Problem durchsucht, konnte aber leider nichts finden.
Ich versuche gerade ein Projekt von Delphi z auf Delphi XE5 umzustellen. Hier hänge ich derzeit an einer Prozedur fest, die Daten aus einer Datenbank in ein neues Excel-Dokument übergeben soll. Da ich hierzu keine Lösung finden konnte habe ich mich auf die Suche nach anderen Möglichkeiten gemacht und bin dabei auf folgendes Turoral gestossen:
http://www.delphitutorials.de/node/22 - MS Office Automation

Ich habe nun zu Testzwecken den Code genauso übernommen, wie er in dem Tutorial steht, und dabei kommt der gleiche Fehler wie in meiner Programmierung heraus.
Hier der Code:

Delphi-Quellcode:
  unit Unit1;

  interface

  uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Excel2010, Vcl.StdCtrls, Vcl.OleServer;

  type
    TForm1 = class(TForm)
      ExcelApplication1: TExcelApplication;
      Button1: TButton;
      Button2: TButton;
      Button3: TButton;
      ExcelWorkbook1: TExcelWorkbook;
      ExcelWorksheet1: TExcelWorksheet;
      ExcelOLEObject1: TExcelOLEObject;
      procedure Button1Click(Sender: TObject);
      procedure Button2Click(Sender: TObject);
      procedure Button3Click(Sender: TObject);
    private
      { Private-Deklarationen }
    public
      { Public-Deklarationen }
    end;

  var
    Form1: TForm1;
    flcid: Integer;

  implementation

  {$R *.dfm}

  procedure TForm1.Button1Click(Sender: TObject);
  begin
    flcid:=GetUserDefaultLCID;
    ExcelApplication1.Connect;
    ExcelApplication1.Visible[flcid]:=true;
    ExcelApplication1.UserControl:=true;
  end;

  procedure TForm1.Button2Click(Sender: TObject);
  begin
    ExcelApplication1.Quit;
    ExcelApplication1.Disconnect;
  end;

  procedure TForm1.Button3Click(Sender: TObject);

  var svalue, filename: String;

  begin
      filename := ExtractFilePath(ParamStr(0))+'Mappe1.xls';
      ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(filename,
      emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,emptyParam,
      emptyParam,emptyParam,emptyParam, emptyParam, emptyParam,
      emptyParam, emptyParam, emptyParam, flcid));
      ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Sheets.Item[1] as ExcelWorkSheet);
      sValue:=ExcelWorksheet1.Range['B1','B1'].Value;
      messagedlg(sValue,mtInformation,[mbOK],0);

  end;

  end.
der Fehler der Auftritt lautet: [dcc32 Fehler] Unit1.pas(60): E2029 '[' erwartet, aber ';' gefunden
er tritt an folgender Stelle auf: " sValue:=ExcelWorksheet1.Range['B1','B1'].Value;"

Da dieses exakt der gleiche Fehler ist, den ich in meiner anderen Projekt habe, frage ich mich nun, woran dieses liegen kann.
Arbeitet Delphi XE5 hier anders?

Grüße

Frank
  Mit Zitat antworten Zitat