Seite 1 von 1

[gelöst]Calc: DatabaseRanges + CellRangeAdress

Verfasst: Mi, 14.05.2014 14:28
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!

Re: Calc: DatabaseRanges + CellRangeAdress

Verfasst: Mi, 14.05.2014 15:40
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.

Re: Calc: DatabaseRanges + CellRangeAdress

Verfasst: Mi, 14.05.2014 15:42
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) 830 mal betrachtet
Karolus

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

Verfasst: Mi, 14.05.2014 16:26
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!