Poner en negrita parte de un texto en una celda de OpenOffice Calc

Macro para OpenOffice Calc

En el Foro Oficial de Apache OpenOffice un usuario planteó esta pregunta:

¿Existe alguna forma de poner en negrita parte del texto en varias celdas de una hoja de cálculo?

Uno de los voluntarios, apodado FORNELASA planteó la solución que compartimos con todos vosotros como una nueva muestra de la potencia, eficiencia y simplicidad que pueden tener las macros de OpenOffice.

El usuario necesitaba poner en negrita el texto que en cientos o miles de celdas se mostraba tras un guión. Así, si una celda ponía Catarroja - Valencia, quería ver la celda formateada tan que así: Catarroja - Valencia.

Por supuesto que para una decena de celdas se puede hacer fácilmente a mano, pero ya no es tan sencillo cuando se trata de cientos o de miles.

La solución propuesta por FORNELASA fué la siguiente:

 

Sub NegritaTrasGuion()
    oDoc = ThisComponent
    oRango = oDoc.CurrentController.Selection
    For i = 0 to oRango.Rows.Count - 1
        oActual = oRango.getCellByPosition(0,i)
        oTexto = oActual.getText()
        oPosic = InStr(oTexto.String,"-")
        If oPosic > 0 Then
            oCursor = oTexto.createTextCursor
            oCursor.gotoStart(False)
            oCursor.goRight(oPosic,True)
            oCursor.CharWeight = com.sun.star.awt.FontWeight.BOLD
        End If
    Next i
End Sub

 

La macro se encarga de localizar un guión en el texto de la celda, y a partir de esa posición, establece el texto restante con la propiedad negrita.

Suponemos que dada la claridad del código te resultará fácil adaptarla para buscar otras cadenas en lugar del guión, o aplicar otras características al texto en lugar de negrita.

El tema del foro lo podreis encontrar en este enlace: Poner negrita parte de un texto en una celda calc

No hay reacciones, todavía


Form is loading...