openoffice-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schmidt <joe...@j-m-schmidt.de>
Subject RE: [Basic] getCellRangeByName & Teilbereich ausschließen
Date Sat, 27 Jun 2020 15:40:57 GMT
Hallo, 

> -----Original Message-----
> From: Wolfgang Jäth [mailto:jawo.ml.hamster@arcor.de] 
> Sent: Saturday, June 27, 2020 1:12 PM
> To: users-de@openoffice.apache.org
> Subject: Re: [Basic] getCellRangeByName & Teilbereich ausschließen

> > Ich kann Dir hingegen nicht sagen, wie Du von "M2:X13" den 
> Bereich "M2:O4" quasi abziehst, weil es zwar die Methode 
> .removeRangeAddress gibt, aber es bei mir zu einem Fehler 
> führt wenn ich versuche von einem CellRange-Objekt ein (quasi 
> beinhaltetes) CellRange-Objekt 'abzuziehen' - augenscheinlich 
> wird ein passendes CellRange*s*-Objekt erwartet.
> 
> Über die Funktion bin ich auch gestolpert, aber wenn ich die
> Beschreibung dazu richtig verstanden habe, entfernt das die Zellen
> direkt aus dem Tabellenblatt, so wie "Bearbeiten => Zeilen löschen =>
> (*) Zellen nach oben verschieben".

Nein, denn eine RangeAdresse ist kein Zellobjekt.

Ich hatte es ohnehin extra ausprobiert und schrieb deshalb "passendes(!) CellRange*s*-Objekt",
denn z.B. liefern folgende Makros im Ergebnis die gleiche Selektion:

Sub Main1
Dim x(0)
bereiche = ThisComponent.CreateInstance("com.sun.star.sheet.SheetCellRanges")
blatt = ThisComponent.CurrentController.ActiveSheet
x(0) = "P2:X13"
bereiche.addRangeAddress(blatt.getCellRangeByName(x(0)).getRangeAddress(), False)
ThisComponent.CurrentController.Select(bereiche)
End Sub

Sub Main2
Dim x(1)
bereiche = ThisComponent.CreateInstance("com.sun.star.sheet.SheetCellRanges")
blatt = ThisComponent.CurrentController.ActiveSheet
x(0) = "P2:X13"
x(1) = "M5:O13"
For i = LBOUND(x()) To UBOUND(x())
	bereiche.addRangeAddress(blatt.getCellRangeByName(x(i)).getRangeAddress(), False)
Next i
bereiche.removeRangeAddress(blatt.getCellRangeByName(x(1)).getRangeAddress(), False)
ThisComponent.CurrentController.Select(bereiche)
End Sub




Gruß
Jörg



---------------------------------------------------------------------
To unsubscribe, e-mail: users-de-unsubscribe@openoffice.apache.org
For additional commands, e-mail: users-de-help@openoffice.apache.org


Mime
View raw message