Seite 1 von 1

Prüfen, ob Text selektiert ist oder...

Verfasst: Sa, 31.01.2015 19:16
von kannenklaus
Hallo zusammen,

das folgende Makro erhöht die selektierten Zeichen (auch Mehrfachselektionen) realtiv um einen Pt bzw. den eingetragen Betrag. Jetzt suche ich nur noch eine Kontrolle, dass auch Zeichen selektiert sind bzw. es soll eine Meldung kommen, wenn nur ein leerer Absatz markiert ist.

Code: Alles auswählen

Sub DecreaseSelected
	Dim objDoc As Object
	Dim objSelections As Object
	Dim objSel As Object
	Dim objCursor As Object
	Dim iCount As Integer
	Dim oTextElementEnum As Object
	Dim oTextElement As Object
	Dim iPt As Integer
	iPt= InputBox ("Bitte eine Pt-Verkleinerung eingeben:","Schrifthöhe ändern:","1")	
	objDoc = ThisComponent
	objSelections = objDoc.getCurrentSelection()
	For iCount = 0 To objSelections.Count-1
		objSel = objSelections(iCount)
		objCursor = objDoc.Text.createTextCursorByRange(objSel)
		xray objCursor
	'	If  objCursor.IsCollapsed() Then Msgbox "kein Text ist selektiert"
		If Not objCursor.IsCollapsed() Then 'is not emtpy
			
			oTextElementEnum = objCursor.createEnumeration()
			While oTextElementEnum.hasMoreElements()
	      		oTextElement = oTextElementEnum.nextElement
	      		'verkleinern um 1 pt.
				oTextElement.CharHeight = oTextElement.CharHeight-iPt
	      	Wend
		End If
	Next
End Sub
Danke Kaus

Re: Prüfen, ob Text selektiert ist oder...

Verfasst: Sa, 31.01.2015 21:30
von kannenklaus
Habe mit folg. Code eine Lösung gefunden

Code: Alles auswählen

Sub TextSel
oVC = ThisComponent.CurrentController.getViewCursor
If oVC.isCollapsed then 
	msgbox "kein Text selektiert"
	exit sub
end if
If not oVC.isCollapsed then msgbox "Text selekiiert"

End Sub