Seite 1 von 1

[gelöst]in markierten Bereich fett formatierte Wörter finden

Verfasst: Sa, 26.07.2008 14:11
von jkl
Hallo

Wie kann ich in einem marktierten Textteil fett formatierte Wörter heraussuchen?

Danke für einen Tipp!

J. Kleis

Re: in einem markierten Bereich fett formatierte Wörter finden

Verfasst: Sa, 26.07.2008 22:42
von Karolus
Hallo
In Writer ?
->Suchen und ersetzen
Schaltflache 'weitere Optionen'->Format

Gruß Karo

Re: in einem markierten Bereich fett formatierte Wörter finden

Verfasst: So, 27.07.2008 17:57
von jkl
Hallo,

Danke für die Antwort. Ich meinte nur leider innerhalb eines Skriptes, deswegen auch im Basic-Forum :wink:

Um meine Frage noch etwas einzuschränken: Ich weiß, wie ich im Text fett formatierte Wörter finde (Enumeration...), aber scheinbar geht das nicht, wenn ich den ausgewählten Text nehme.

Code: Alles auswählen

   myDoc=thisComponent
   myViewCursor=myDoc.GetCurrentController.ViewCursor
   mytext=myViewCursor.text
   oEnum1=mytext.createEnumeration
Der Code gibt einen Fehler.

Kann mir jemand meinen Fehler benennen?

J. Kleis

Re: in einem markierten Bereich fett formatierte Wörter finden

Verfasst: So, 27.07.2008 22:17
von komma4
Der Code läuft hier(SuSE 10.1, OOo 2.4.1) fehlerfrei.

Wo ist der Code gespeichert (Bibliothek und Modul)?
Wie aktivierst Du das Makro (Menufolge? Taste? Symbolleiste?)
OOo Version und Betriebssystem?

Re: in einem markierten Bereich fett formatierte Wörter finden

Verfasst: Mo, 28.07.2008 07:39
von jkl
Danke für den Hinweis, habe den Fehler dem falschen Versuch zugeordnet. Habe das Problem mittlerweile gelöst und poste hier den Code...

Code: Alles auswählen

Sub Main

   myDoc=thisComponent
   oSelalle=myDoc.getcurrentSelection()
   if not isNull(oSelalle) then
   	if oSelAlle.getCount=1 then
   		oSel = oSelalle.GetByIndex(0)
   		oTxtC = myDoc.Text.createTextCursorByRange(oSel)
   		if oTxtC.isCollapsed then
   			s= "nichts selektiert"
   		else
   			s="Eine Selektion: " & oSel.getString()
   			oEnum=oSel.createEnumeration
   				n=0
	Do While oEnum.hasMoreElements
		oTxtElement = oEnum.nextElement
			if oTxtElement.supportsService("com.sun.star.text.Paragraph") Then
				oEnum2=oTxtElement.createEnumeration
					Do While oEnum2.hasMoreElements
						oAbsTeil=oEnum2.nextElement
						if oAbsTeil.CharWeight=com.sun.star.awt.FontWeight.BOLD Then
							msgBox (oAbsTeil.string)
						End if
					Loop
			End if
					
	Loop
   			
   		End if
   	elseif oSelAlle.getCount > 1 then
   		s="Insgesamt " & oSelAlle.getCount() & " Selektionen:" & chr(13)
   			for i = 0 to oSelAlle.getCount() -1
   				s = s &i+1 & ": " & oSelAlle.getByIndex(i).getString() & chr(13)
   			next
   	else
   		s="nichts selektiert"
   	End if
   Else
   		s="nichts selektiert"
   	End if
 '  	MsgBox s, 0 , "Aktuelle Selektionen"
   	

End Sub
Vielen Dank

J. Kleis