Subscribe to RSS feed



Excel-Zugriff per Ole-Objekt

8. Februar 2008
excel-zugriff-per-ole-objekt

Um mit Delphi eine Exceldatei zu editieren, kann man das ganze z.B. über ein Ole-Objekt lösen.

Bei meinem Beispiel gehe ich davon aus, dass bereits eine Excel-Datei existiert, die wir auslesen oder bearbeiten wollen.

Hier ein Codeschnipsel zu Öffnen und Auslesen der Datei:

Excel := CreateOleObject('excel.application');
Excel.Visible := false;  //Macht das Excel-Fenster sichtbar
Excel.Workbooks.Open('C:\daten\testexcel.xls');
strFeldA1 := Excel.ActiveSheet.Cells[1,1].Value; // Ließt das Feld A1
Excel.DisplayAlerts := false;  //Deaktiviert Nachfrage beim Beenden
Excel.quit;  //Beendet Excel (Wichtig sonst bleibt es immer offen im Hintergrund)

Um ein Feld zu ändern erweitern wir das ganze ein wenig:

Excel := CreateOleObject('excel.application');
Excel.Visible := false;   //Macht das Excel-Fenster sichtbar
Excel.Workbooks.Open('C:\daten\testexcel.xls');
Excel.ActiveSheet.Cells[1,1].Value := 'Test'; // Beschreibt das Feld A1
Excel.DisplayAlerts := false;    //Deaktiviert Nachfrage beim Beenden
Excel.ActiveWorkbook.SaveAs('C:\daten\testexcel2.xls');
Excel.quit;   //Beendet Excel (Wichtig sonst bleibt es immer offen im Hintergrund)

Wichtig ist allerdings, dass Excel auf dem jeweiligen Rechner installiert ist, damit diese Lösung funktioniert.

Das Objekt “Excel” ist dabei eine Variable vom Typ Variant und als zusätzliche Unit muss ComObj eingebunden werden.