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
[quote=mikeleb post_id=270444 time=1499797219 user_id=43151]
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.
[/quote]
ja, sieht so aus.
Ich verwende jetzt zum Bestimmen der Zeile:
[code]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
[/code]
Hinweise:
(a)
dieser Code geht vereinfachend davon aus das eine [b]Writer-Tabelle[/b] 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