Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Sheet von einer Excel-Datei in eine andere Exceldatei (https://www.delphipraxis.net/183380-sheet-von-einer-excel-datei-eine-andere-exceldatei.html)

Jumpy 8. Jan 2015 08:41

AW: Sheet von einer Excel-Datei in eine andere Exceldatei
 
Da ich ja bereits Zeit verschwendet habe um auf die Frage zu Antworten verschwende ich doch glatt nochmal 10 Minuten um das selber mal zu testen und siehe da, funzt doch sowohl mit Copy als auch mit Move. Das Sheet wird jeweils an letzter Stelle eingefügt.

Delphi-Quellcode:
uses [...], ComObj;

procedure TForm1.Button1Click(Sender: TObject);
var XLApp:OleVariant;
    wbSource,wbTarget:OleVariant;
    wsSource:OleVariant;
begin
  XLApp:=CreateOleObject('Excel.Application');
  //XLApp.Visible:=true;
  wbSource:=XLApp.Workbooks.Open('C:\Test\wb1.xls');
  wbTarget:=XLApp.Workbooks.Open('C:\Test\wb2.xls');
  wsSource:=wbSource.WorkSheets['Test'];
  wsSource.Copy(EmptyParam,wbTarget.WorkSheets[wbTarget.WorkSheets.Count]);
  wbTarget.Save;
  wbTarget.Close;
  wbSource.Save;
  wbSource.Close;
  XLApp.Quit;
  XLApp:=Unassigned;
end;

Nimmersatt 8. Jan 2015 16:19

AW: Sheet von einer Excel-Datei in eine andere Exceldatei
 
Hallo Jumpy,

Ich habe dein Code getestet und da wurde mir klar, dass die Probleme ganz woanders lagen.
Zuerst versuchte ich dein Code in mein Programm zu integrieren, es funktionierte nicht.
Dann habe ich nur dein Code getestet, mit meinen Exceldateien, es gab keine Fehlermeldung, aber der Sheet wurde nicht kopiert.
Erst als ich andere Exceldateien getestet habe, funktionierte auch dein Code.
Und siehe da, mein ursprünglicher Copy-Befehl der nicht funktionierte

Excel1.sheets[1].Copy(Excel2.Sheets[3]);

funktionierte plötzlich.

Ich habe 2 Fehlerquellen, die ich noch nicht begriffen habe.
Ich hatte vorher ein paar Excel-Operationen, da hat sich irgendetwas verschoben.
Die andere Fehlerquelle, die Excel-Datei hat wohl zu viele Sheets, oder sie ist zu voll.

Mit der vollen Exceldatei gibt es zwar keine Fehlermeldung, das Kopieren des Sheets wird aber nicht ausgeführt.
Nun würde ich gerne wissen, ob auch bei dir dieser Effekt eintritt.

mfg Nimmersatt
















mfg Nimmersatt

Nimmersatt 8. Jan 2015 16:20

AW: Sheet von einer Excel-Datei in eine andere Exceldatei
 
Ach, ja,

Noch einmal recht herzlichen Dank für deine Mühe.:thumb:

Jumpy 8. Jan 2015 16:57

AW: Sheet von einer Excel-Datei in eine andere Exceldatei
 
Hier mal ein Link zu Excel-Beschränkungen: Link

Ich hätte jetzt gedacht, da du das ja scheinbar manuell kopieren kannst (auch in den Dateien mit den vielen Sheets) sollte es auch per Programmierung gehen. Ausserdem funzt es ja auch mit deinem alternativen Code, dem mit der Nachfrage. Daher jast du recht: Es ist immer noch seltsam.


Also ohne die betroffenen Dateien und die genauen Sheets kann man das nicht weiter testen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
Seite 2 von 2     12   

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