Seite 1 von 1

Aktuellen Textrahmen ermitteln

Verfasst: Fr, 10.02.2017 10:32
von Stephan
Hallo,

ich bekomme ein scheinbar einfaches Problem nicht gelöst.

In einem Textdokument sind mehrere Textrahmen, ich möchte ermitteln in welchem Rahmen mein sichtbarer Textcursor steht, wenn ich gerade in einen der Rahmen geklickt habe. Also habe ich ein Makro das ich an das Ereignis "Objekt anklicken" des Rahmens (bzw. mehrerer Rahmen) binde und hätte dort als Rückgabe gerne den Namen des Rahmens (oder den Object-Bezug).
wo_bin_ich.odt
(11.02 KiB) 134-mal heruntergeladen
Wie mache ist das?


(Ich könnte notfalls an der Stelle des Cursors etwas Text einfügen, danach durch alle Rahmen des Dokuments interieren um den Rahmen zu finden in welchem der Text vorkommt, aber das ist doch ziemlich blöd.)


Gruß
Stephan


P.S.
Für das Anklicken des Rahmens wäre die Lösung natürlich leicht:

Code: Alles auswählen

Msgbox ThisComponent.getCurrentSelection.Name
aber darum geht es mir nicht.

Re: Aktuellen Textrahmen ermitteln

Verfasst: Fr, 10.02.2017 11:46
von Toxitom
Hey Stephan,

Na, das ist eine der leichtesten Übungen;))

Feststellen, wo sich der Cursor befindet - Namen auslesen:

Code: Alles auswählen

sub NamenTextRahmen
  oDoc = thisComponent
  oCur = oDoc.getCurrentController().getViewCursor()
  if not isEmpty(oCur.textFrame) then
    msgbox oCur.textFrame.LinkDisplayName 
  end if  

end sub
Viele Grüße
Tom

Re: Aktuellen Textrahmen ermitteln

Verfasst: Fr, 10.02.2017 12:20
von Stephan
Ja, Danke.

Mir war schon klar, das dieser Thread etwas peinlich für mich wird, aber er hat seinen Zweck erfüllt, denn alleine hätte ich wohl noch Stunden darüber nachgedacht, zumal mir Deine Antwort klarmacht das ich nichtmal an der richtigen Stelle (http://www.openoffice.org/api/docs/comm ... arget.html) gesucht hatte, meine Gedanken kreisten nämlich die ganze Zeit da wo ich glaubte ich könnte von dem Rahmeninhalt aus, auf das übergeordnete Objekt kommen.

Also, nochmal Danke, hilft mir ganz praktisch weiter


Gruß
Stephan