Aktuell markierte Zelle in TextTable - Adresse?

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: Aktuell markierte Zelle in TextTable - Adresse?

Re: Aktuell markierte Zelle in TextTable - Adresse?

von Stephan » Mi, 12.07.2017 10:49

mikeleb hat geschrieben: Di, 11.07.2017 20:20 Hallo Stephan,
es scheint keine Adresse wie in Calc zu geben. Am einfachsten wäre es, den Text der Adresse zu zerlegen und daraus Zeile und Spalte zu bestimmen.
ja, sieht so aus.

Ich verwende jetzt zum Bestimmen der Zeile:

Code: Alles auswählen

v_cur = ThisComponent.getCurrentController().getViewCursor()
	If v_cur.Text.ImplementationName = "SwXCell" Then
		If v_cur.TextTable.Name = "Tabelle_1" Then
			aktuelle_zelle = v_cur.Cell.CellName
			tmp = LEN(aktuelle_zelle)
			aktuelle_zeile = VAL(Right(aktuelle_zelle, tmp-1))
		End If
	End If
Hinweise:
(a)
dieser Code geht vereinfachend davon aus das eine Writer-Tabelle wohl kaum mehr als 26 Spalten (A-Z) haben wird. In Fällen wo doch mehr als 26 vorkommen können müsste der Code erweitert werden.
(b)
die bestimmte Zeile entspricht der Zeilennummer (erste Zeile =1)


Gruß
Stephan

Re: Aktuell markierte Zelle in TextTable - Adresse?

von mikeleb » Di, 11.07.2017 20:20

Hallo Stephan,
es scheint keine Adresse wie in Calc zu geben. Am einfachsten wäre es, den Text der Adresse zu zerlegen und daraus Zeile und Spalte zu bestimmen.

Aktuell markierte Zelle in TextTable - Adresse?

von Stephan » Di, 11.07.2017 09:07

Hallo,

in einem Writerdokument befindet sich der sichtbare Cursor in einer Zelle einer Texttabelle. Den Namen dieser Zelle bekomme ich so:

Code: Alles auswählen

oSels = ThisComponent.getCurrentSelection()
oSel = oSels.getByIndex(0)
oCell = oSel.Cell
Msgbox oCell.CellName
Wie aber bekomme ich Zeile und Spalte dieser Zelle?
Geht das nur indirekt, z.B. indem ich durch alle Zellen interiere bis ich die Zelle passenden Namens gefunden habe? (Ich finde kein RangeAddress-Object der Zelle.(?) Oder bin ich blind?)


Gruß
Stephan

Nach oben