Excel tabelle komplett kopieren
-
Hallo zusammen,
wie kann ich mit der Excel Komponente eine Tabelle kopieren? in TExcelWorksheet gibt zwar ein Copy aber egal was ich da eintrage die Tabelle wird nicht kopiert.
// TExcelApplication Excel // TExcelWorbbok ExcelBook // TExcelWorksheet ExcelSheet Excel->Workbooks->Add(TVariant(Pfad +"testseite.xls"),0); ExcelBook->ConnectTo(Excel->ActiveWorkbook); Excel->Visible[0]=true; ExcelSheet->ConnectTo(ExcelBook->Sheets->get_Item(TVariant(1)) ); ExcelSheet->Copy(TVariant("Tabelle1") ,TVariant("Tabelle3"),0); // <- weiß nicht ob richtig ist :(
da zudem eine komplette Hilfe zu den komponenten fehlen, bin ich da ein bischen aufgeschmissen und hoffe das ihr mir helfen könnt.
Danke schonmal
-
Was genau verstehts du unter "Tabelle (komplett) kopieren"? Nur den Inhalt der Zeilen und Spalten? Das gesamte Worksheet (einschließlich Formatierung)?
-
Ich mein damit alles.
Also formatierte Text, charts formeln etc.so als würde man bei excel selber unten die tabelle mit rechtklick anklicken und kopieren sagen.
-
Hallo
Bei solchen Problemen hilft es, wenn du die nötigen Funktionsaufrufe erstmal in einem VBA-Makro zusammenstellst. Dabei hilft dir (hoffentlich) die dortige VBA-Doku. Wenn du dort ein lauffähiges Makro hast, ist es dann einfacher das in C++ umzusetzen.
bis bald
akari
-
versuchs mal so:
ExcelSheet->Copy(TNoParam(),TVariant(ExcelBook->Sheets->get_Item(TVariant(5))),0);
die einzelnen Parameter der Anweisung sind übrigends Before, After und eine Id, d.h. es macht keinen Sinn bei den ersten beiden Parametern etwas anzugeben, sondern nur entweder der 1. oder 2.
-
das die parameter before und after waren hab ich auch gesehen, aber ich konnte nicht wirklich was damit anfangen weil ich nicht wusste wovor und wonach!?
ich hab auch mal versucht ihn das get_item zu übergeben hab das aber nicht in Variant umgewandelt . hatte da immer einen fehler mit IDispatch bekommen.
naja, so funktionierts ja jetzt ich denk mal das ich damit erst mal weiter komme.
nochmal Danke
-
Before gibt an vor welches Tabellenblatt du das kopieren möchstest und After hinter welches, meist reicht also eine Angabe aus