1

Тема: OOo Basic: Writer, удаление переносов строк

Макрос предназначен для удаления "жестких" переносов строк выделенной области документа OOo Writer. Нужно выделить текст, в котором требуется удалить переносы, а затем запустить макрос.

'-------------------------------------------------------------------------
'Макрос предназначен для удаления переносов строк <CR><LF> выделенной
'области документа OOo Writer. Нужно выделить текст, в котором требуется
'удалить переносы, а затем запустить макрос.
'-------------------------------------------------------------------------
' OOo 2.x
' Win Me/XP

'[Удаление переносов строк <CR><LF>]
'-------------------------------------------------------------------------
Sub RemovePBreaks()

        oView = ThisComponent.CurrentController.getViewCursor()
        oText = oView.getText()
        oLCur = oText.CreateTextCursorByRange(oView.getStart())

        Do
            oLCur.gotoEndOfParagraph(True)
            oLCur.goLeft(0,True)
            '/Если текстовый курсор заходит за область выделения, завершить цикл/
            If oText.compareRegionEnds(oLCur,oView.getEnd) = -1 Then Exit Do
            '/Прочесть параграф без переноса/
            sPrg = oLcur.getString()
            '/Переместить курсор на одну позицию, чтобы захватить перенос/
            If Not oLCur.goRight(1,True) Then Exit Do
            '/Заменить параграф с символом переноса, текстом без переноса/
            oLCur.setString(sPrg)
        Loop
        MsgBox "Переносы удалены",64,"Обработка параграфов"
End Sub
'-------------------------------------------------------------------------
'pltrgst 2010