[gelöst]Calc: DatabaseRanges + CellRangeAdress

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

Moderator: Moderatoren

TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

[gelöst]Calc: DatabaseRanges + CellRangeAdress

Beitrag von TrueColor »

Hallo,

meine DatabaseRanges habe ich mit

Code: Alles auswählen

oSheet = ThisComponent.CurrentController.ActiveSheet
oDBRange = ThisComponent.DatabaseRanges

oRange = oSheet.getCellRangeByPosition(1,1,3,3).getRangeAddress()
oDBRange.addNewByName("test1", oRange) 
erzeugt.

Wie komme ich nun später an die CellRangeAdress der DatabaseRanges heran? Wenn ich die DatabaseRange im Navigator aktiviere, wird der entsprechende Bereich markiert, also muss es ja eigentlich irgendwelche Eigenschaften geben, in denen das gespeichert ist. Die Doku gibt darüber aber keine Auskunft (zumindest nicht so, dass ich das erkennen kann ;-))

p.s.: Warum, zur Hölle, müssen die Indizes per Default überall mit 0 beginnen? Immer wieder ist man am Suchen, wieso da ein Unterschied zwischen Index und Anzahl ist.

Danke!
Zuletzt geändert von TrueColor am Mi, 14.05.2014 15:45, insgesamt 1-mal geändert.
System:
LibO 6 + LibO 7
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: Calc: DatabaseRanges + CellRangeAdress

Beitrag von TrueColor »

Hab noch ein bisschen mit dem MRI herumgespielt und noch eine Lösung gefunden:

Code: Alles auswählen

 sCellRange = "Sheet(" & oDBRange.getByIndex(i).getDataArea.Sheet & "), Range("_
                       & oDBRange.getByIndex(i).getDataArea.StartColumn & ", "_
                       & oDBRange.getByIndex(i).getDataArea.StartRow & ", "_
                       & oDBRange.getByIndex(i).getDataArea.EndColumn & ", "_
                       & oDBRange.getByIndex(i).getDataArea.EndRow & ")" 
getByName fkt. auch.
System:
LibO 6 + LibO 7
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: Calc: DatabaseRanges + CellRangeAdress

Beitrag von Karolus »

Hallo

Warum benutzt du nicht Mri -

Ein Schnelltest in einer interaktiven IPython notebook -Sitzung ( !ohne Mri ! )

Code: Alles auswählen

doc = desktop.getCurrentComponent()
sel = doc.CurrentSelection
dbranges = doc.DatabaseRanges
dbranges.addNewByName('testrange', sel.getRangeAddress())
...
...
...
ttt = dbranges.getByName('testrange')
print(ttt.ReferredCells.AbsoluteName) 
Ein Screenshot direkt aus dem Browser direkt nach Eingabe von:

Code: Alles auswählen

ttt.ReferredCells.R [tab-taste]
ttt_dbrange_object.png
ttt_dbrange_object.png (24.19 KiB) 826 mal betrachtet
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: [gelöst]Calc: DatabaseRanges + CellRangeAdress

Beitrag von TrueColor »

ReferredCells hatte ich in der Doku gefunden, aber hab nicht rausgefunden, wie es dann weiter geht. Schau ich mir auf jeden Fall morgen nochmal an.

Danke dir!
System:
LibO 6 + LibO 7
Antworten