Hallo,
bin gerade dabei Daten aus einer Excel97-Datei in ein StringGrid zu importieren.
Hier der Code:
Delphi-Quellcode:
begin
ExAP1.Workbooks.Open(filename, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam,
EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, 0);
ExWB1.ConnectTo(ExAP1.ActiveWorkbook);
ExWS1.ConnectTo(ExWB1.Sheets.item['Gesamtliste 2008'] as _Worksheet);
sg4.Cells[0,0]:=ExWS1.Cells.Item[4,4]; //Werte in StringGrid importieren
ExAp1.Quit;
ExAp1.Disconnect;
end;
Dieser Programmrumpf funktioniert, wenn die Datei unter Excel 2003 abgespeichert wurde.
Wurde sie unter Excel 97 abgespeichert, kommt die Abfrage:
Zitat:
Do you want to save the changes to XXXXX.xls ?
Microsoft Office Excel recalculates formulas when opening files last saved by an earlier version of Excel.
Folgende Units werden eingesetzt:
Delphi-Quellcode:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, OleServer, ExcelXP, ComCtrls;
Da der Daten-Import im Hintergrund ablaufen soll, muss die Abfrage vermieden werden.
Der PC, von dem ich die Daten einlesen möchte, ist ein Maschinen-Steuerrechner mit Windows NT, der nicht durch einen neueren ersetzt werden kann (nur zur Vorbeugung, falls jemand empfiehlt einen neuen PC mit Excel 2003 zu nehmen).
Wer hat einen Tipp, um diesen Fehler zu vermeiden?
Vielen Dank.
Gruß, Linkat