Zellen Löschen - Was mach ich falsch?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Tim1202
**
Beiträge: 30
Registriert: Sa, 07.05.2005 18:57
Wohnort: Utting

Zellen Löschen - Was mach ich falsch?

Beitrag von Tim1202 »

Hallo,

ich will 5 Zellen löschen. Hier der Code:

Code: Alles auswählen

vRow = 9
oSheet = ThisComponent.CurrentController.ActiveSheet
oSheet.removeRange(osheet.getCellRangebyPosition(0,vRow,4,vRow), com.sun.star.sheet.CellDeleteMode.UP)
Warum kommt in der 3. Zeile die Fehlermeldung:
Illegal Argument Exception
Cannot Coerce Argument type during corereflection call!

Danke für Tipps,

Timon
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

removeRange erwartet eine Zellbereichsadresse und kein ZellRange-Objekt

zum Beispiel:

Code: Alles auswählen

Sub Main
vRow = 9 
oSheet = ThisComponent.CurrentController.ActiveSheet
Dim oZellbereichsAdresse as new com.sun.star.table.CellRangeAddress
oZellbereichsAdresse.Sheet = oSheet.name
oZellbereichsAdresse.StartColumn = 0
oZellbereichsAdresse.StartRow = vRow
oZellbereichsAdresse.EndColumn = 4
oZellbereichsAdresse.EndRow = vRow
oSheet.removeRange(oZellbereichsAdresse, com.sun.star.sheet.CellDeleteMode.UP)
End Sub

Gruß
Stephan
Tim1202
**
Beiträge: 30
Registriert: Sa, 07.05.2005 18:57
Wohnort: Utting

Beitrag von Tim1202 »

Hallo Stephan,

vielen Dank für deinen Tipp! :D
Diesen Code hatte ich auch probiert, nur wusste ich nicht, wie ich die Eigenschaft Sheet belegen sollte, da ich kein Object übergeben konnte. Somit hab ich jetzt wieder eine Eigenschaft (.name) dazugelernt.

Nochmals vielen Dank!

Timon
Tim1202
**
Beiträge: 30
Registriert: Sa, 07.05.2005 18:57
Wohnort: Utting

Beitrag von Tim1202 »

Hallo nochmal!

Um ganz ehrlich zu sein, hab ich den Code erst heut so richtig testen können (wie immer keine Zeit), und er hat leider nicht funktioniert! :cry:

Denn wie ich mittlerweise herausgefunden habe erwartet die .Sheet Eigenschaft eine Integer-Zahl. Die .name Eigenschaft liefert aber den Namen als String.

Hiermit funktioniert es jezt: :D

Code: Alles auswählen

oSheet = ThisComponent.CurrentController.ActiveSheet
Dim oZellbereichsAdresse as new com.sun.star.table.CellRangeAddress
oZellbereichsAdresse.Sheet = oSheet.RangeAddress.Sheet
oZellbereichsAdresse.StartColumn = 0
oZellbereichsAdresse.StartRow = vRow
oZellbereichsAdresse.EndColumn = 4
oZellbereichsAdresse.EndRow = vRow
oSheet.removeRange(oZellbereichsAdresse, com.sun.star.sheet.CellDeleteMode.UP)
Mfg

Timon
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Ja, Du hast recht: es wird eine Zahl erwartet.

Ich hätte das vorher testen sollen.


Gruß
Stephan
Antworten