Seite 1 von 1
[gelöst] Cursor positionieren in Writer Texttabelle
Verfasst: Di, 28.02.2006 18:31
von yeti
Hallo,
ich kann mit dem Befehl:
Code: Alles auswählen
dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())
in die erste Zelle einer Tabelle springen, sofern diese das erste Element auf einer Seite ist. Danach dann mit einer Reihe von Befehlen:
Code: Alles auswählen
dispatcher.executeDispatch(document, ".uno:JumpToNextCell", "", 0, Array())
immer eine Zelle weiter, bis ich in der zweiten Spalte in der zweiten Zelle bin. Ist das wie in der Calc-Tabelle so, daß die Zellen auch bestimmte "nicht sichtbare" Namen haben? Demnach wäre für mich die Zelle B2 relevant.
Wie kann ich direkt den Textcursor in die Zelle B2 einer Texttabelle in Writer setzen?
Die Tabelle heißt im Moment noch Tabelle1 und ich arbeite hier in OOo 2.0.
Vielen Dank im voraus,
Yeti
Verfasst: Mi, 01.03.2006 08:14
von Toxitom
Hey Yeti,
hmm, es empfiehlt sich immer - wenn man umfangreicher programmieren möchte - sich entsprechende Dokumentationen oder Literatur zuzulegen. Dann ergeben sich viele Fragen von selbst
Wie kann ich direkt den Textcursor in die Zelle B2 einer Texttabelle in Writer setzen?
Tia, hier bleibt zunächst die Frage: Welchen Cursor meinst du? Den sichtbaren (View-Cursor), der wird alerdings nr dann benötigt, wenn der Benutzer dort etwas reinschreinen soll.
Oder einen Textcursor, den dazu benutzt, um z.B. per Makro etwas in die Zelle zu schreiben. Zwischne diesen beiden Cursorn gibt es "Welten".
Im Übrigen hast du recht: Auch Tabellenzellen in Texttabellenen haben "Namen", und zwar sowohl Indexbasiert(also (1,1) z.B.) als auch Namensbasiert (B2).
Tia, also, was willst du erreichen?
Gruss
Thomas
Verfasst: Mi, 01.03.2006 10:40
von yeti
Toxitom hat geschrieben:Hey Yeti,
hmm, es empfiehlt sich immer - wenn man umfangreicher programmieren möchte - sich entsprechende Dokumentationen oder Literatur zuzulegen. Dann ergeben sich viele Fragen von selbst
Klar, deswegen werde ich auch ein Buch bestellen

Diese Art von Arbeit wird denke ich in Zukunft noch mehr auf mich zukommen und schon alleine deshalb...
Toxitom hat geschrieben:
Tia, hier bleibt zunächst die Frage: Welchen Cursor meinst du? Den sichtbaren (View-Cursor), der wird alerdings nr dann benötigt, wenn der Benutzer dort etwas reinschreinen soll.
Oder einen Textcursor, den dazu benutzt, um z.B. per Makro etwas in die Zelle zu schreiben. Zwischne diesen beiden Cursorn gibt es "Welten".
Ich brauche in diesem Fall den sichtbaren Textcursor, der Benutzer soll etwas in eine Zelle schreiben können.
Toxitom hat geschrieben:
Im Übrigen hast du recht: Auch Tabellenzellen in Texttabellenen haben "Namen", und zwar sowohl Indexbasiert(also (1,1) z.B.) als auch Namensbasiert (B2).
Vielen Dank
Gruß Yeti
Verfasst: Do, 02.03.2006 13:57
von Toxitom
Hey Yeti,
Ich brauche in diesem Fall den sichtbaren Textcursor, der Benutzer soll etwas in eine Zelle schreiben können.
Na, dann ist es einfach. Der Code plaziert dir den Viewcursor in die Zelle "B2" der ersten Tabelle im Dokument:
Code: Alles auswählen
Sub ViewCursorPlazieren
oDoc = thisComponent
oViewC = odoc.getCurrentController().getViewCursor()
oTab = oDoc.getTextTables().getByIndex(0)
oZelle = oTab.getCellByName("B2")
oViewC.gotoRange(oZelle, false)
End Sub
Den Rest kannst du selber anpassen
Gruss
Thomas
Verfasst: Do, 02.03.2006 16:44
von yeti
Vielen Dank!
Hat funktioniert. Mal schauen ob ich noch hinter die Logik komme. Im Grunde ist es klar.
Schönen Tag noch!
Gruß Yeti
PS: Buch ist bestellt, dürfte Samstag oder Montag bei mir sein. Dann kann es ja richtig los gehen
