Buenas tardes a todos,
¿Cómo crear una macro para reemplazar texto en Writer si el texto está en color rojo?
Saludos y gracias.
Suponiendo que deseas reemplazar en texto de Writer en rojo ṕor texto en negro crea una macro, para ello:
Abre el documento en LibreOffice Writer.
Pulsa en —> Herramientas —> Macros —> Editar macros.
En la ventana que se abre, haz clic en —> Nuevo módulo y escribe un nombre para el nuevo módulo, para ser original ReemplazarRojoporNegro.
Copia y pega el código de la macro en el nuevo módulo.
====================================================================
Sub ReemplazarRojoPorNegro
Dim oDoc as Object
Dim oFind as Object
Dim oReplace as Object
Dim oText as Object
oDoc = ThisComponent
' Crea un objeto para buscar y reemplazar
oFind = oDoc.createSearchDescriptor()
oReplace = oDoc.createReplaceDescriptor()
' Establece las propiedades para buscar texto rojo y reemplazar con texto negro
oFind.SearchColor = 16711680 ' Color rojo en RGB
oReplace.SearchColor = oFind.SearchColor
oReplace.ReplaceColor = 0 ' Color negro en RGB
' Busca y reemplaza en todo el documento
oText = oDoc.Text.createEnumeration()
Do While oText.hasMoreElements()
oPara = oText.nextElement()
oFind.SearchString = oPara.getString()
If oPara.CharColor == oFind.SearchColor Then
oPara.CharColor = oReplace.ReplaceColor
End If
Loop
End Sub
====================================================================
Cierra la ventana de edición de macros y vuelve al documento de Writer.
Para ejecutar la macro, pulsa en —> Herramientas —> Macros —> Ejecutar macro.
Selecciona la macro ReemplazarRojoPorNegro y haz clic en Ejecutar.