Einzelnen Beitrag anzeigen

GroHae

Registriert seit: 19. Apr 2007
Ort: Nabburg
83 Beiträge
 
Delphi 2007 Enterprise
 
#1

Excel Mappen kopieren

  Alt 3. Feb 2011, 10:59
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?
Grüße

Thomas
  Mit Zitat antworten Zitat