Hallo zusammen,
ich habe das Problem, dass ich in Delphi mehrere EXL Dateien zu einer Zusammenfassen muss. Mit der Excel Steuerung von Delphi aus habe ich wenig Erfahrung. Hab mit Hilfe
http://www.delphipraxis.net/37480-ex...rnsteuern.html und einem XLS Makro welches ich selber aufgezeichnet habe dann folgenden Code "zusammen gestöpselt"
Delphi-Quellcode:
procedure TfrmMain.btnCreateNewXLSClick(Sender: TObject);
var
QuellFile, Excel: OleVariant;
ZielFile : OleVariant;
begin
// Excel starten
Excel := CreateOleObject('Excel.Application');
// für jede einzelne XLS Datei:
begin
// (eine von X) Quellfile öffnen
QuellFile := Excel.Workbooks.open('C:\Daten\Thomas\Delphi2006\XLS_Test\BisMonat.xls',emptyparam);
// Zielfile öffnen
ZielFile := Excel.Workbooks.open('C:\Daten\Thomas\Delphi2006\XLS_Test\Zusammenfassung.xls',emptyparam);
// Neue Mappe erstellen
Excel.Workbooks.Add;
// Quelle aktivieren und Mappe kopieren
QuellFile.Activate;
Excel.Cells.select;
Excel.Selection.Copy;
// Ziel aktivieren und rein kopieren
ZielFile.Activate;
Excel.Cells.select;
Excel.Selection.Paste; // FEHLER !!!!!!!!!!!!!!!!!!
// Quelle schließen
QuellFile.Activate;
QuellFile.Close;
// Nächste Quelle öffnen... und weiter in Ziel rein kopieren bis alle drinnen sind
end;
// Zielfile sichern
ZielFile.Activate;
Excel.ActiveWorkbook.Save;
// Excel Schließen
if not VarIsEmpty(Excel) then
begin
Excel.DisplayAlerts := False; // Discard unsaved files....
Excel.Quit;
end;
end;
Bei Excel.Selection.Paste bekomme ich aber dann die Fehlermeldung, das die Methode Paste nicht unterstützt wird.
Was mach ich falsch?