[gelöst]Calc: DatabaseRanges + CellRangeAdress

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]Calc: DatabaseRanges + CellRangeAdress

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

von TrueColor » Mi, 14.05.2014 16:26

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!

Re: Calc: DatabaseRanges + CellRangeAdress

von Karolus » Mi, 14.05.2014 15:42

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: Calc: DatabaseRanges + CellRangeAdress

von TrueColor » Mi, 14.05.2014 15:40

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.

[gelöst]Calc: DatabaseRanges + CellRangeAdress

von TrueColor » Mi, 14.05.2014 14:28

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!

Nach oben