Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi [Gelöst] Excel befehl "Übersetzen" (Blatt kopieren) (https://www.delphipraxis.net/176028-%5Bgeloest%5D-excel-befehl-uebersetzen-blatt-kopieren.html)

VkPenguin 7. Aug 2013 17:23


[Gelöst] Excel befehl "Übersetzen" (Blatt kopieren)
 
Hallo zusammen,

ich arbeite momentan an einem Programm, mit dem ich Excel fernsteuere. Im Prinzip funktioniert alles auch ganz gut, nun habe ich aber ein Problem beim "Übersetzen" eines Befehls in Delphi.

Der originale Excelbefehl:
Code:
Sheets(1).Copy Before:=Sheets(3)
In Delphi würde ich das so schreiben:
Delphi-Quellcode:
Excel.Sheets("Übersicht").Copy Before:=Sheets(3)


Das Problem ist aber, dass in dem Befehl ein Leerzeichen vorkommt, welches Delphi natürlich nicht akzeptieren will. Für vieles gibt es ja eine Entsprechung in Delphi (z.B. "=" wird zu ":="), weiß jemand, ob es sowas auch für Leerzeichen gibt oder wie ich das anders hinkriege?

Danke!

p80286 7. Aug 2013 17:34

AW: Excel befehl "Übersetzen"
 
versuch es mal mit
Delphi-Quellcode:
Sheets[1].Copy(Before:=Sheets[3])
Gruß
K-H

VkPenguin 7. Aug 2013 17:56

AW: Excel befehl "Übersetzen"
 
Hi, Danke für die Antwort. Der Befehl wird zwar erkannt, aber die Parameter nicht.. Wie müssen die denn dann deklariert werden?

mkinzler 7. Aug 2013 19:26

AW: Excel befehl "Übersetzen"
 
Übergib nal alle Parameter an Copy (Delphi kennt kein ParameterByName)

VkPenguin 7. Aug 2013 19:46

AW: Excel befehl "Übersetzen"
 
Okay, aber wie ? Sheets[3] kennt Delphi als Variable ja nicht... ich könnte zwar ein Array so nennen und das Übergeben, aber ich glaube nicht, dass das funktioniert..

mkinzler 7. Aug 2013 19:59

AW: Excel befehl "Übersetzen"
 
Delphi-Quellcode:
ActiveWorkbook.Sheet[1].Copy(ActiveWorkbook.Sheet[3], EmptyParam);
oder ähnlich

VkPenguin 7. Aug 2013 23:17

AW: Excel befehl "Übersetzen"
 
Ah, zwar nicht ganz, aber jetzt hab ichs, danke Dir!

Falls es jemanden interessiert, der vollständige Befehl lautet:

Delphi-Quellcode:
Excel.ActiveSheet.Copy(Excel.ActiveWorkbook.Sheets[3]);
Dann ist das hier erledigt, danke nochmal!

p80286 8. Aug 2013 09:22

AW: [Gelöst] Excel befehl "Übersetzen" (Blatt kopieren)
 
Irgendeinen wird es bestimmt interessieren!

Danke!

K-H

Blup 14. Aug 2013 08:28

AW: Excel befehl "Übersetzen"
 
Zitat:

Zitat von mkinzler (Beitrag 1223928)
Übergib nal alle Parameter an Copy (Delphi kennt kein ParameterByName)

Mit OLEVariant akzeptiert Delphi (bei mir Delphi 2007) benannte Parameter z.B.:

Delphi-Quellcode:
Workbook.SaveAs(Filename := FFileName, FileFormat := xlExcel8);


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 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