Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Excel Mappen kopieren (https://www.delphipraxis.net/158041-excel-mappen-kopieren.html)

GroHae 3. Feb 2011 10:59

Excel Mappen kopieren
 
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?

Bummi 3. Feb 2011 11:15

AW: Excel Mappen kopieren
 
Delphi-Quellcode:
WorkBook.ActiveSheet.Paste;

GroHae 3. Feb 2011 11:37

AW: Excel Mappen kopieren
 
Danke erst mal für die Antwort!

Auch bei
Delphi-Quellcode:
Excel.WorkBook.ActiveSheet.Paste;
bekomme ich die Fehlermeldung:
Die Methode 'WorkBook' wird vom Automatisierungsobject nicht unterstützt.

Hab ich da irgendwas nicht eingebunden was ich brauche?

Bummi 3. Feb 2011 11:57

AW: Excel Mappen kopieren
 
Sorry
Delphi-Quellcode:
  Workbook:=Excel.Workbooks.add;
  Workbook.ActiveSheet.Paste;
oder
Delphi-Quellcode:
 Excel.ActiveWorkbook.ActiveSheet.paste;

GroHae 3. Feb 2011 12:02

AW: Excel Mappen kopieren
 
:-D

Super so geht es. Tausend Dank!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz