seleccionar un texto entre dos palabras

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
muni84
Mensajes: 23
Registrado: Mié Mar 11, 2009 3:11 pm

seleccionar un texto entre dos palabras

Mensaje por muni84 »

Hola, estoy intentando seleccionar un texto entre dos palabras clave.

El texto seria algo asi:

PC1
textotextotextotextotextotextotexto
textotextotextotextotexto

textotextotexto
textotextotexto

PC2

He intentado con este codigo que he encontrado en internet, pero no funciona.

Código: Seleccionar todo

Sub FindAndReplace
oDoc = ThisComponent
FandR = oDoc.createReplaceDescriptor
FandR.searchRegularExpression = true
FandR.setSearchString("givenWord1.*givenWord2")
FandR.setReplaceString("")
oDoc.ReplaceAll(FandR)
End Sub 
Alguien que me pueda ayudar??

Gracias.
FJCC-ES
Mensajes: 873
Registrado: Mié Mar 25, 2009 1:19 am
Ubicación: Colorado, USA

Re: seleccionar un texto entre dos palabras

Mensaje por FJCC-ES »

El punto (.) en la expresión regular representa cualquier carácter menos un salto de línea o de párrafo. El codigo falla si "GivenWord1" y "GivenWord2" no están en el mismo párrafo.

Creo que este código hace lo que quiere

Código: Seleccionar todo

oDoc = ThisComponent
FandR_1 = oDoc.createSearchDescriptor
FandR_2 = oDoc.createSearchDescriptor
FandR_1.setSearchString("GivenWord1")
FandR_2.setSearchString("GivenWord2")
Cursor = oDoc.FindFirst(FandR_1)
Cursor2 = oDoc.FindFirst(FandR_2)
Cursor.gotoRange(Cursor2.End,true)
Cursor.String = ""
Cursor = oDoc.FindNext(Cursor2, FandR_1)
While Not IsNull(Cursor)
	Cursor2 = oDoc.FindNext(Cursor, FandR_2)
	Cursor.gotoRange(Cursor2.End,true)
	Cursor.String = ""
	Cursor = oDoc.FindNext(Cursor2, FandR_1)
Wend
muni84
Mensajes: 23
Registrado: Mié Mar 11, 2009 3:11 pm

Re: seleccionar un texto entre dos palabras

Mensaje por muni84 »

Ok, muchas gracias. Ahora lo pruebo.
Responder