Reinhard - Do 17.08.06 16:14
Titel: Excel - Gruppierung von Zeilen
Hallo,
ich fülle aus Delphi 6 eine Excel-Datei (Office 2003) mit Daten.
Ich definiere mit dazu eine ExcelApplciation und ein Worksheet:
fExcelApp: TExcelApplication;
fWorkSheet: _WorkSheet; // Define a WorkSheet
Nun habe ich die Möglichkeit einzelne Zellen zu füllen:
fWorkSheet.Cells.Item[aRow, aCol].Value := aValue;
Ich möchte nun bestimmte Zeilen groupieren (in Excel 2003 unter Extras - Gruppierung und Gliederung - Gruppierung).
Das Macro in Excel dazu sieht so aus:
Rows("5:8").Select
Selection.Rows.Group
Ich habe auch gleich einen Lösungsweg zu meinem Problem gefunden (wird im Link beschrieben):
Google Groups [
http://groups.google.de/group/borland.public.delphi.oleautomation/browse_frm/thread/208be97fd50eee02/236b404c50668ff1?lnk=gst&q=grouping&rnum=3#236b404c50668ff1]
Leider funktioniert das ganze nicht wie es soll.
Bei dieser Zeile
fWorkSheet.ConnectTo(fExcelApp.ActiveSheet as _Worksheet);
bekomme ich folgende Fehlermeldung:
"Undefinierter Bezeichner ConnectTo".
Bei dieser Zeile (EmptyParam ist ein OleVariant)
fWorkSheet.Range['A1','A4'].EntireRow.Group(EmptyParam, EmptyParam, EmptyParam, EmptyParam);
bekomme ich zur Laufzeit folgende Fehlermeldung:
"EOleException - Die Group-Methode des Range-Objekts konnte nicht ausgeführt werden".
Kennt dieses Problem jemand oder kann sich jemand eine Lösung denken?
Danke,
Reinhard
aj84m - Fr 18.08.06 07:41
Hallo Reinhard,
| Zitat: |
| fWorkSheet.ConnectTo(fExcelApp.ActiveSheet as _Worksheet); |
folgender Code aktiviert das ausgewählte Worksheet (ob durchnummeriert oder dessen Namen):
Delphi-Quelltext
1:
| [list=1][*]fWorksheet := fWorkBk.WorkSheets.Get_Item(1) as _WorkSheet; |
| Zitat: |
| fWorkSheet.Range['A1','A4'].EntireRow.Group(EmptyParam, EmptyParam, EmptyParam, EmptyParam); |
Wahrscheinlich müssen noch ein paar Parameter übergeben werden.
Gruß
aj84m