Writer: Auswahl meherer Absätze per Makro

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: Writer: Auswahl meherer Absätze per Makro

Re: Writer: Auswahl meherer Absätze per Makro

von F3K Total » Fr, 20.11.2015 16:50

Hi,
versuche mal dies:

Code: Alles auswählen

sub insertHyperlinks
    sSearchString = inputbox("Suchwort: ", "Hyperlinks einfügen")
    sHyperlink = inputbox("Hyperlink: ", "Hyperlinks einfügen")
    oDoc = thisComponent
    oSearchDesc = oDoc.createSearchDescriptor()
    oSearchDesc.SearchString = sSearchString
    oSearchResult = oDoc.findFirst(oSearchDesc)
    i = 0
    While not IsNull(oSearchResult)
        i = i + 1
        oBookMark = oDoc.createinstance("com.sun.star.text.Bookmark")
        oBookMark.Name = sSearchString
        oDoc.text.insertTextContent(oSearchResult, oBookMark, true)
        oSearchResult.HyperLinkURL = sHyperlink
        oSearchResult = oDoc.findNext(oSearchResult.End, oSearchDesc)
    wend
    msgbox ("Es wurden "+i+" Hyperlinks eingefügt",64,"Einfügen der Hyperlinks erfolgreich")
End sub
Gruß R

Re: Writer: Auswahl meherer Absätze per Makro

von F3K Total » Di, 02.07.2013 06:20

Hi, ein Beispiel:
Jemand, der sich mit Makros nicht auskennt, möchte alle Absätze, in denen z.B. ein bestimmtes Wort vorkommt selektieren.
Über eine Schleife können diese Absätze gefunden werden, nun sollen sie selektiert werden, damit alle auf einmal z.B. rot eingefärbt, Fett , kursiv, eine andere Schriftart ... schlicht, individuell formatiert werden können.
Es handelt sich hier um eine theorethische Aufgabe, mir geht es darum, herauszufinden, wie es möglich ist, so eine Mehrfachselektion per Makro zu erzeugen, in Calc ist es kein Problem, aber in Writer bekomme ich es nicht hin.
Habe schon mit TextRanges experimentiert, kann aber einem solchen Service keinen TextRange hinzufügen.
Rik
PS.: Ich suche keine Suchen und Ersetzen - Lösung.

Re: Writer: Auswahl meherer Absätze per Makro

von Karolus » Di, 02.07.2013 00:46

Hallo

Ich kann dir nicht so richtig folgen - Mehrfachselektion per Makro aber manuelle unterschiedliche Bearbeitung ?
Worauf bezieht sich `unterschiedlich` ?

Karolus

Re: Writer: Auswahl meherer Absätze per Makro

von F3K Total » Mo, 01.07.2013 18:16

Hallo Karolus,
das wäre kein Problem, aber es geht gerade darum, die Selektion manuell und immer unterschiedlich bearbeiten zu können.
Gruß Rik

Re: Writer: Auswahl meherer Absätze per Makro

von Karolus » Mo, 01.07.2013 08:51

Hallo Rik

Du willst eine (Mehrfach)selektion per Makro - und dann ??


Erledige 'dann' innerhalb einer [for|while]-Schleife

Karolus

Writer: Auswahl meherer Absätze per Makro

von F3K Total » So, 30.06.2013 23:14

Hallo zusammen,
seit Stunden zermartere ich mir das Hirn, komme aber nicht auf eine Lösung.
Per Maus geht es ganz leicht, STRG und ziehen.
Ich möchte genauso mehrere Textbereiche auf einmal per Makro selektieren.
Mit folgendem Marko habe ich herausgefunden, das es möglich ist.

Code: Alles auswählen

Sub Test
    osel = Thiscomponent.currentselection
    ocontroller = Thiscomponent.currentcontroller
    oViewcursor = ocontroller.ViewCursor
    oViewcursor.collapsetostart
    wait 1000
    ocontroller.select(osel)
end sub
Wenn ich nun mehrere Textabschnitte in einem Writer-Text per STRG und Maus selektiere, dann das Makro laufen lasse, wird erst per Cursor deselektiert, und anschliessend exakt der ursprünglich markierte Bereich wieder selektiert.

Wie erzeuge ich oSel ohne die aktuelle Selektion abzufragen?
Als Beispiel könnte jeder zweite Absatz selektiert werden.

Beste Grüße von Rik

Nach oben