Re: [de-users] Makro : Textstellen finden und formatieren

2014-05-13 Diskussionsfäden Christian Lohmaier
Hi Klaus, *,

2014-05-04 8:22 GMT+02:00 klaus garen weselpe...@gmx.de:

 Ich möchte ein Makro schreiben, dass in einem Writer-Dokument, die mit
 '#' markierten Textstellen erkennt, den Text fett macht und die
 Schriftgröße um 2 erhöht.

Nur der Vollständigkeithalber, und weniger als Antwort für dich:

Für so eine Aufgabenstellung ist auch Suchen und Ersetzen mit der
aktivierten Option Regulärer Ausdruck geeignet.
→ Finde Alle (→ alle entsprechenden Textstellen werden selektiert)
und dann entweder hart formatieren, oder besser eine Zeichenvorlage
zuweisen.

 Mein Problem ist : Wie finde ich Textstellen in einem Text?

Ein Regulärer Ausdruck, der alle Wörter mit einem vorangestelltem #
findet wäre z.B. folgender:

#\S+

(\S → kein Freiraumzeichen, + → eins oder mehrere)

ciao
Christian

-- 
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert


Re: [de-users] Makro : Textstellen finden und formatieren

2014-05-05 Diskussionsfäden A Dreier

Hallo Klaus,

hier eine Lösung für deine Frage:


Sub pSuchenUndAendern
Dim oDok As Object, oSK As Object, oTK As Object, oSuche As Object, 
oFund As Object

Dim i As Integer
Const sSuche = #
oDok = ThisComponent
oSK = oDok.CurrentController.ViewCursor
oTK = oSK.Text.CreateTextCursorByRange(oSK)
oSuche = oDok.CreateSearchDescriptor()
oSuche.SearchString = sSuche
oFund = oDok.FindFirst(oSuche)
While Not IsNull(oFund)
oTK.GotoRange(oFund, FALSE)
oTK.GotoStartOfParagraph(FALSE)
oTK.GotoEndOfParagraph(TRUE)
i = oTK.Start.CharHeight
oTK.CharHeight = i + 2
oTK.CharWeight = com.sun.star.awt.FontWeight.BOLD'/ .NORMAL
oFund = oDok.FindNext(oTK.End, oSuche)
Wend
End Sub


Gruß

Andreas

-- Ursprüngliche Nachricht --
Betreff: [de-users] Makro : Textstellen finden und formatieren
Datum: Sonntag, 04.05.2014, 08.22 Uhr
Von: klaus garen weselpe...@gmx.de
An: users@de.libreoffice.org


Hallo,

ich habe schon mal Makros für OO geschrieben, bin aber etwas eingerostet
  ...

Nun brauche ich etwas Starthilfe.

Ich möchte ein Makro schreiben, dass in einem Writer-Dokument, die mit
'#' markierten Textstellen erkennt, den Text fett macht und die
Schriftgröße um 2 erhöht.

Mein Problem ist : Wie finde ich Textstellen in einem Text?

Ich möchte das nicht mit Textmarken lösen! (Das ist für den, der den
Text schreibt zu umständlich.)
http://www.dannenhoefer.de/faqstarbasic/WiekannichaneineTextmarkespringenundText.html#Zweig250


Vielen Dank für alle Tipps!

lg
Klaus




--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert



[de-users] Makro : Textstellen finden und formatieren

2014-05-04 Diskussionsfäden klaus garen
Hallo,

ich habe schon mal Makros für OO geschrieben, bin aber etwas eingerostet
 ...

Nun brauche ich etwas Starthilfe.

Ich möchte ein Makro schreiben, dass in einem Writer-Dokument, die mit
'#' markierten Textstellen erkennt, den Text fett macht und die
Schriftgröße um 2 erhöht.

Mein Problem ist : Wie finde ich Textstellen in einem Text?

Ich möchte das nicht mit Textmarken lösen! (Das ist für den, der den
Text schreibt zu umständlich.)
http://www.dannenhoefer.de/faqstarbasic/WiekannichaneineTextmarkespringenundText.html#Zweig250


Vielen Dank für alle Tipps!

lg
Klaus

-- 
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert



Re: [de-users] Makro : Textstellen finden und formatieren

2014-05-04 Diskussionsfäden Jochen georges

Hallo,

mit Hilfe von :
http://www.wollmux.net/wiki/images/f/f9/Makro_Kochbuch.pdf (seite 176)


ich finde nun prinzipiell die Textstelle.

Code s.u.

Ich verstehe aber findnext(xtextrange).End nicht

Was soll dieses .End bedeuten?

Danke für jeden Tipp!

lG
Klaus




REM  *  BASIC  *

Option Explicit
public const VON as string = *
public const BIS as string = ~

Sub formatiereMyTextstellen
dim oDoc as object 'xDocument
dim osdStart as object 'xSearchDescriptor
dim otrStart as object 'xTextRange
dim osdEnd as object 'xSearchDescriptor
dim otrEnd as object 'xTextRange

oDoc = thisComponent

osdStart = oDoc.createSearchDescriptor()
osdStart.setSearchString(VON)
otrStart = oDoc.findFirst(osdStart)
if IsNull(otrStart) then exit sub 'stop wenn kein ergebnis

osdEnd = oDoc.createSearchDescriptor()  
osdEnd.setSearchString(BIS)
otrEnd = oDoc.findFirst(osdEnd)
if IsNull(otrEnd) then exit sub 'stop, wenn kein

otrStart.gotoRange(oDoc.findnext(otrStart.End, osdEnd).End,true)
msgbox otrStart.getString()

End Sub



-- 
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert