Hola,
Estoy intentando crear una macro que pegue (1), elimine el formato (2) y elimine los saltos de párrafo (3).
El problema es que necesito seleccionar el texto pegado para poder proceder a lo segundo y tercero. No soy capaz de hallar la forma de hacerlo mediante código.
En VBA sería así, pero he intentado aplicar compatibilidad y jugar un poco con el código (tengo nociones de VBA, pero no de Libreoffice) pero no soy capaz:
Sub ScratchMacro()
Dim oRng As Word.Range
Set oRng = Selection.Range
oRng.Paste
oRng.Select
End Sub
Por ahora, es esto lo que tengo para eliminar los saltos de párrafo indebidos (al copiar de un PDF, por ejemplo). Funciona genial pero tienes que seleccionar previamente el texto.
Sub replaceLineBreaks
dim oText as object, Selections as object, Selection as object, cursor as object
dim position
oText = ThisComponent.Text
Selections = ThisComponent.CurrentSelection
Selection = Selections.getByIndex(0)
cursor = oText.createTextCursorByRange(Selection)
With cursor
.collapseToStart
position = oText.compareRegionEnds(cursor, Selection)
While position = 1
.goRight(1,True)
if .string = Chr(10) then
'.string = Chr(13)'turn line break to paragraph
.string = " " 'delete line break
end if
.collapseToEnd
position = oText.compareRegionEnds(cursor, Selection)
Wend
End With
End Sub
Muchas gracias!