Aktuellen Textrahmen ermitteln

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Aktuellen Textrahmen ermitteln

Beitrag 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) 118-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.
Toxitom
********
Beiträge: 3768
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Aktuellen Textrahmen ermitteln

Beitrag 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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Aktuellen Textrahmen ermitteln

Beitrag 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
Antworten