[GELÖST] Bestimmung der Eckpunkte bei Mehrfachselektion

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] Bestimmung der Eckpunkte bei Mehrfachselektion

Re: Bestimmung der Eckpunkte bei Mehrfachselektion

von Ralf R » Mi, 12.07.2023 16:27

Hallo mikeleb,

das war ein Treffer ins Schwarze - und zwar genau in die Mitte!

Vielen, lieben Dank!
Ralf

Re: Bestimmung der Eckpunkte bei Mehrfachselektion

von mikeleb » Mi, 12.07.2023 13:01

Hallo,
probier mal folgendes:

Code: Alles auswählen

Sub Main

	oSel=ThisComponent.getCurrentSelection()
	'Ist ein einfacher Zellbereich gewählt oder ist es eine Mehrfachselection?
	If oSel.supportsservice("com.sun.star.sheet.SheetCellRanges") then
		'Mehrfachselection
		aAdressen=oSel.getRangeAddresses
		i=0
		zeile_min=aAdressen(i).StartRow
		zeile_max=aAdressen(i).EndRow
		spalte_min=aAdressen(i).StartColumn
		spalte_max=aAdressen(i).EndColumn
		
		do while i<ubound(aAdressen)
			i=i+1
			if zeile_min>aAdressen(i).StartRow then zeile_min=aAdressen(i).StartRow
			if zeile_max<aAdressen(i).EndRow then zeile_max=aAdressen(i).EndRow
			if spalte_min>aAdressen(i).StartColumn then spalte_min=aAdressen(i).StartColumn
			if spalte_max<aAdressen(i).EndColumn then spalte_max=aAdressen(i).EndColumn
		loop
	Else
		'einfacher Bereich
		zeile_min=oSel.getRangeAddress.StartRow
		zeile_max=oSel.getRangeAddress.EndRow
		spalte_min=oSel.getRangeAddress.StartColumn
		spalte_max=oSel.getRangeAddress.EndColumn
	end if
	
	msgbox 	zeile_min & chr(10) & zeile_max & chr(10) & spalte_min & chr(10) & spalte_max

End Sub

Re: Bestimmung der Eckpunkte bei Mehrfachselektion

von Ralf R » Mi, 12.07.2023 09:06

Hallo mikeleb!

Danke für die Marschroute, aber den Weg finde ich noch nicht.
Ich versuche es mit einer Schleife:

Code: Alles auswählen

For n = 0 To  selektion.getCount() - 1 'UBound(selektion)

ThisComponent.currentController.select( oCellRange )
oCellRange = ThisComponent.getCurrentSelection()'.getRangeAddress
 
S1 = oCellRange.rangeAddress.startColumn
Z1 = oCellRange.rangeAddress.startRow
SL = oCellRange.rangeAddress.EndColumn
ZL = oCellRange.rangeAddress.EndRow

Next n
Aber mit "rangeAdress" geht es anscheinend nicht, und eine andere Methode fällt mir nicht ein.

Beste Grüße,
Ralf

Re: Bestimmung der Eckpunkte bei Mehrfachselektion

von mikeleb » Di, 11.07.2023 09:12

Hallo,
direkt auslesen kannst du es nicht, aber du kannst alle Teilbereiche durchlaufen und die minimalen/maximalen Werte bestimmen.

[GELÖST] Bestimmung der Eckpunkte bei Mehrfachselektion

von Ralf R » Mo, 10.07.2023 23:44

Hallo zusammen!

Wenn ich einen selektierten Zellbereich habe, kann ich mit

Code: Alles auswählen

ThisComponent.currentController.select( oCellRange )
oCellRange = ThisComponent.getCurrentSelection()
 
S1 = oCellRange.rangeAddress.startColumn
Z1 = oCellRange.rangeAddress.startRow
SL = oCellRange.rangeAddress.EndColumn
ZL = oCellRange.rangeAddress.EndRow
die Eckpunkte auslesen.

Bei mehreren Selektionen funktioniert diese Methode nicht.

Gibt es eine Möglichkeit die Eckpunkte für den Bereich, in dem sich die Selektionen befinden, auszulesen?

Beste Grüße,
Ralf

Nach oben