Autor Beitrag
Reinhard
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 17.08.06 16:14 
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

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
Hält's aus hier
Beiträge: 3

WIN XP
D6 Enterprise
BeitragVerfasst: 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):
ausblenden Delphi-Quelltext
1:
[list=1][*]fWorksheet := fWorkBk.WorkSheets.Get_Item(1as _WorkSheet;					



Zitat:
fWorkSheet.Range['A1','A4'].EntireRow.Group(EmptyParam, EmptyParam, EmptyParam, EmptyParam);


Wahrscheinlich müssen noch ein paar Parameter übergeben werden.

Gruß
aj84m