Openoffice

Bitte beachten Sie die Menüleiste mit den FAQ's

meine Extensions:



Ersetzen von Absatzzeichen (harte Zeilenschaltung) durch Zeilenumbrüche (weiche Zeilenschaltung)

option Explicit
Sub AbsatzUmbruchLoeschen
        Dim oDoc as Object
        Dim oSuchAusdruck as Object
        Dim Zeichen as String
        Dim Weiche as Integer
        Dim Auswahl as String
        oDoc = Thiscomponent
        
        Auswahl = InputBox ("Leere Absatzumbrüche  löschen?" & chr$(13)& chr$(13)& "Ja=OK   Nein=Abbrechen","K. Reiser","hier nichts eingeben")
        If Auswahl = "hier nichts eingeben" Then
                oSuchAusdruck = oDoc.createSearchDescriptor
                oSuchAusdruck.searchString= "^$"
                oSuchAusdruck.SearchRegularExpression = "true"
                Weiche = 1
                Zeichen = ""
                ErsetzenNeu(oDoc,oSuchAusdruck,Zeichen,Weiche)
        End If
        
        Auswahl = InputBox ("Absatzumbrüche gegen Zeilenumbrüche tauschen?" & chr$(13)& chr$(13)&"Ja=OK  Nein=Abbrechen","K. Reiser","hier nichts eingeben")
        If Auswahl = "hier nichts eingeben" Then
                oSuchAusdruck = oDoc.createSearchDescriptor
                oSuchAusdruck.searchString= "$"
                oSuchAusdruck.SearchRegularExpression = "true"
                Weiche = 2
                Zeichen = ""
                ErsetzenNeu(oDoc,oSuchAusdruck,Zeichen,Weiche)
        End If
        
        Auswahl = InputBox ("Absatzumbrüche gegen Leerzeichen tauschen?" & chr$(13)& chr$(13)& "Ja=OK  Nein=Abbrechen ","K. Reiser","hier nichts eingeben")
        If Auswahl = "hier nichts eingeben" Then
                oSuchAusdruck = oDoc.createSearchDescriptor
                oSuchAusdruck.searchString= "$"
                oSuchAusdruck.SearchRegularExpression = "true"
                Weiche = 1
                Zeichen = " "
                ErsetzenNeu(oDoc,oSuchAusdruck,Zeichen,Weiche)
        End If
End Sub

Sub ErsetzenNeu(oDoc,oSuchAusdruck,Zeichen,Weiche)
        Dim oGefunden as object
        Dim oTC as Object
        oTC = oDoc.Text.createTextCursor()
        oGefunden = oDoc.findFirst (oSuchAusdruck)
        Do While not IsNull( oGefunden)
                oTC.gotoRange(oGefunden, false)
                Select Case Weiche
                Case 1
                        oTC.string = Zeichen
                Case 2
                        oDoc.Text.insertControlCharacter(oTC,com.sun.star.text.ControlCharacter.LINE_BREAK, true)
                End Select
                        oGefunden = ThisComponent.findNext( oGefunden.End, oSuchAusdruck)
        Loop
End Sub