Página 1 de 1

Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Vie Mar 31, 2023 3:02 pm
por Varkyrion
Buenos días.

Quizá es medio básico pero no estaría encontrando como. Estaría necesitando un macro de Writer que busque ciertas palabras o expresiones en un documento, si las encuentra que las resalte y que luego de buscar muestre un mensaje con un botón de "Aceptar" que diga, por ejemplo "Se han encontrado palabras a modificar".

Y si pudiera tener un contador de cuantas veces se corrió la Macro mejor.

Desde ya muchas gracias por su colaboración.

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Vie Mar 31, 2023 8:09 pm
por FJCC-ES
¿Quiere buscar las mismas palabras cada vez? ¿Cuántas son?

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mar Abr 04, 2023 3:41 pm
por Varkyrion
Las mismas palabras cada vez y son al rededor de 30 solas y en expresiones. Por ejemplo "Nro" y "dirección contraria".

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mar Abr 04, 2023 10:27 pm
por FJCC-ES
La macro en el archivo adjunto busca las cadenas "Nro" y "dirección contraria". Puede añadir palabras a la lista, separando las con |.

Código: Seleccionar todo

Sub BuscarTexto
oSDesc = ThisComponent.createSearchDescriptor()
oSDesc.SearchString = "Nro|dirección contraria"
oSDesc.SearchRegularExpression = TRUE
oFound = ThisComponent.findAll(oSDesc)
If oFound.Count > 0 Then
 ThisComponent.CurrentController.select(oFound)
End If
print  "Se han encontrado " & oFound.Count & " palabras a modificar" 
End Sub

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Sab Abr 08, 2023 5:40 pm
por Varkyrion
Si no entiendo mal lo que faltaría ahí sería lo de remarcarlos, no? Muchas gracias!

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Sab Abr 08, 2023 11:10 pm
por FJCC-ES
¿De qué manera quiere remarcarlos?

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mar Abr 11, 2023 2:40 pm
por Varkyrion
Resaltando el fondo de las palabras encontradas en amarillo, como si estuviera usando el "Color de resalte de caracteres"

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mar Abr 11, 2023 5:02 pm
por FJCC-ES

Código: Seleccionar todo

Sub BuscarTexto
oSDesc = ThisComponent.createSearchDescriptor()
oSDesc.SearchString = "Nro|dirección contraria"
oSDesc.SearchRegularExpression = TRUE
oFound = ThisComponent.findAll(oSDesc)

If oFound.Count > 0 Then
  Cnt = oFound.getCount()   
  for i = 0 to (Cnt - 1)
    Txt = oFound.getByIndex(i)
    Txt.CharBackColor = 16776960
 next i
End If
print  "Se han encontrado " & oFound.Count & " palabras a modificar" 
End Sub

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mié Feb 07, 2024 2:05 pm
por Varkyrion
Muchas gracias y disculpas por la demora de la respuesta.

Recién ahora pude probar la macro y me surgió la duda si hay posibilidad de que la búsqueda de palabras discrimine entre mayúsculas y minúsculas.

Re: Buscar cadenas de texto, resaltarlas y enviar un mensaje.

Publicado: Mié Feb 07, 2024 6:05 pm
por FJCC-ES

Código: Seleccionar todo

Sub BuscarTexto
oSDesc = ThisComponent.createSearchDescriptor()
oSDesc.SearchString = "Nro|dirección contraria"
oSDesc.SearchCaseSensitive = TRUE  '<- descriminar entre mayúsculas y minúsculas #####
oSDesc.SearchRegularExpression = TRUE
oFound = ThisComponent.findAll(oSDesc)

If oFound.Count > 0 Then
  Cnt = oFound.getCount()   
  for i = 0 to (Cnt - 1)
    Txt = oFound.getByIndex(i)
    Txt.CharBackColor = 16776960
 next i
End If
print  "Se han encontrado " & oFound.Count & " palabras a modificar" 
End Sub