Neue Excel Datei
-
Hi!
Kann ich mit den Ole Funktionen eine neue Excel Datei erstellen? oder muss ich einfach eine Datei mit der Endung .xls erstellen und dann dort die Daten reinschreiben?
Thx
-
Hallo
Das geht sicher. Schau dir im Zweifelsfall immer die VBA-Hilfe an, dort werden die ganzen Befehle erklärt die du auch über OLE nutzt.
bis bald
akari
-
siehe z.B. in der FAQ -> "Daten nach Excel exportieren", dort wird erst eine neue Excel-Mappe erstellt, dann gefüllt und unter einem beliebigen Namen gespeichert
-
try { Variant WorkBooks = Excel.OlePropertyGet("WorkBooks"); WorkBooks.OleFunction("Add"); Variant ActiveWorkBook = Excel.OlePropertyGet("ActiveWorkbook"); Variant WorkSheets = Excel.OlePropertyGet("Worksheets"); Variant WorkSheet = WorkSheets.OlePropertyGet("Item", 1); WorkSheet.OleFunction("Activate"); for (int i = 0; i < Liste->RowCount; i ++) { Variant Spalte_Nummer = WorkSheet.OlePropertyGet("Cells",1+i,1); Variant Spalte_Beschreibung = WorkSheet.OlePropertyGet("Cells",1+i,2); Variant Spalte_Preis = WorkSheet.OlePropertyGet("Cells",1+i,3); Spalte_Nummer.OlePropertySet("Value",Liste->Cells[1][i]); Spalte_Beschreibung.OlePropertySet("Value",Liste->Cells[2][i]); Spalte_Preis.OlePropertySet("Value",Liste->Cells[3][i]); /*Variant Range1 = WorkSheet.OlePropertyGet("Cells", i+1, 1); // 1.Zeile / 1.Spalte Range1.OlePropertySet("Value", Liste->Cells[i][1]); Variant Range2 = WorkSheet.OlePropertyGet("Cells", i+1, 2); // 1.Zeile / 2.Spalte Range2.OlePropertySet("Value", Liste->Cells[i][2]); Variant Range3 = WorkSheet.OlePropertyGet("Cells", i+1, 3); // 1.Zeile / 3.Spalte Range3.OlePropertySet("Value", Liste->Cells[i][3]); */ } ActiveWorkBook.OleFunction("SaveAs", datei.c_str()); Application->MessageBox("Fertig","Dummy",MB_ICONINFORMATION); } catch(...) { Application->MessageBox("Fehler","Dummy",MB_ICONINFORMATION); } Excel.OleFunction("Quit"); Excel = Unassigned;Habe nun das, danke erstmal. Allerdings tritt dauernd ein Fehler auf, und die Catch Anweisung wird ausgeführt. Datei ist ein AnsiString mit Pfad, dateiname und endung
thx
-
ok, klappt danke
