Macro para seleccionar después de pegar

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!

Prueba seleccionando previamente el texto del documento:

Sub replaceLineBreaksAndSelectAllText
    Dim oText As Object, cursor As Object
    
    oText = ThisComponent.Text
    cursor = oText.createTextCursor()
    
    ' Seleccionar todo el texto en el documento
    cursor.gotoStart(False)
    cursor.gotoEnd(True)
    ThisComponent.CurrentController.select(cursor)
    
    ' Reemplazar saltos de línea por espacios
    cursor.gotoStart(False)
    While cursor.isEndOfParagraph = False
        If cursor.string = Chr(10) Then
            ' Puedes elegir reemplazar con Chr(13) para saltos de párrafo
            cursor.string = " "
        End If
        cursor.goRight(1, True)
    Wend
End Sub

Muchas gracias por la sugerencia. No consigo hacer funcionar la macro. Hace la selección de todo el documento pero no reemplaza los saltos de línea.
Por otra parte, ¿habría alguna forma de lograr únicamente la selección de lo pegado? ¿Lo permite Libreoffice?
Mi idea es una macro con cuatro acciones:

  1. Pegar
  2. Seleccionar el texto pegado
  3. Eliminar saltos de línea del texto seleccionado
  4. Formatear el texto seleccionado

Lo he intentado intentado grabando una macro, sin resultado.

Tal vez cambiar la lógica: quitar los saltos de línea en el texto y después pegar. Del formato, dependerá mucho de que apliques, pero si es un estilo de párrafo, al pegar debe tomar dicho estilo.

Lo he estado intentando de mil maneras posibles, con mis limitados conocimientos de VBA, sin éxito.
Pero entre búsqueda y búsqueda he hallado la macro: Paste unformatted text from the clipboard without linebreaks or styling - The Document Foundation Wiki
Es perfecta y hace exactamente lo que puedo.

Muchas gracias por la ayuda!