Ajuda del LibreOffice 25.8
Mitjançant l'ús dels llenguatges de programació BASIC o Python, és possible escriure macros que apliquen formats a intervals de cel·les al Calc.
El fragment de codi següent crea una Sub anomenada FormatCellBorder que aplica nous formats a les vores d'un determinat rang d'adreces al full de Calc actual.
    Sub FormatCellBorder(cellAddress as String, newStyle as Byte, newWidth as Long, Optional newColor as Long)
        ' Crea l'estructura UNO que emmagatzemarà el nou format de línia
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = newStyle
        lineFormat.LineWidth = newWidth
        If Not IsMissing(newColor) Then lineFormat.Color = newColor
        ' Obté la cel·la objectiu
        Dim oCell as Object
        Set oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(cellAddress)
        ' Aplica el nou format a totes les vores
        oCell.TopBorder = lineFormat
        oCell.RightBorder = lineFormat
        oCell.LeftBorder = lineFormat
        oCell.BottomBorder = lineFormat
    End Sub
  La Sub descrita anteriorment pren quatre arguments:
cellAddress és una cadena que indica l'interval que s'ha de formatar en el format "A1".
newStyle és un valor enter que correspon a l'estil de la línia de vora (veure Estils de línia a sota).
newWidth és un valor enter que defineix el gruix de la línia.
newColor és un valor enter corresponent a un color definit utilitzant la funció RGB.
Per cridar a FormatCellBorder creeu una nova macro i passeu els arguments desitjats, tal com es mostra a continuació:
    Sub MyMacro
        ' Dona accés a les constants d'estil de línia
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Formata «B5» amb vores blaves sòlides
        FormatCellBorder("B5", cStyle.SOLID, 20, RGB(0, 0, 255))
        ' Formata totes les vores de l'interval «D2:F6» amb vores puntejades vermelles
        FormatCellBorder("D2:F6", cStyle.DOTTED, 20, RGB(255, 0, 0))
    End Sub
  És possible implementar la mateixa funcionalitat en Python:
    from uno import createUnoStruct
    from scriptforge import CreateScriptService
    
    def formatCellBorder(cellAddress, newStyle, newWidth, newColor=0):
        # Defineix el nou format de línia
        line_format = createUnoStruct("com.sun.star.table.BorderLine2")
        line_format.LineStyle = newStyle
        line_format.LineWidth = newWidth
        line_format.Color = newColor
        # Servei de l'ScriptForge per a accedir als intervals de cel·les
        doc = CreateScriptService("Calc")
        cell = doc.XCellRange(cellAddress)
        cell.TopBorder = line_format
        cell.RightBorder = line_format
        cell.LeftBorder = line_format
        cell.BottomBorder = line_format
  El fragment de codi següent implementa una macro anomenada myMacro que crida formatCellBorder:
    from com.sun.star.table import BorderLineStyle as cStyle
    
    def myMacro():
        bas = CreateScriptService("Basic")
        formatCellBorder("B5", cStyle.SOLID, 20, bas.RGB(0, 0, 255))
        formatCellBorder("D2:F6", cStyle.DOTTED, 20, bas.RGB(255, 0, 0))
  El codi Python presentat anteriorment utilitza la biblioteca ScriptForge que està disponible des del LibreOffice 7.2.
Els estils de línia es defineixen com a constants enteres. La taula següent enumera les constants dels estils de línia disponibles a :
| Nom de la constant | Valor enter | Nom de l'estil de línia | 
|---|---|---|
| SOLID | 0 | Sòlid | 
| DOTTED | 1 | Puntejat | 
| DASHED | 2 | Ratllat | 
| FINE_DASHED | 14 | Ratllat fi | 
| DOUBLE_THIN | 15 | Doble fi | 
| DASH_DOT | 16 | Ratlla punt | 
| DASH_DOT_DOT | 17 | Ratlla punt punt | 
Consulteu Referència a la constant BorderLineStyle a la documentació de l'API de LibreOffice per aprendre més sobre les constants d'estil de línia.
Els objectes Range tenen la propietat TableBorder2 que es pot utilitzar per formatar les vores de l'interval tal com es fa al diàleg a la secció Arranjament de línies.
A més de les vores superior, inferior, esquerra i dreta, TableBorder2 també defineix les vores horitzontals i verticals. La macro a continuació aplica només les vores superior i inferior a l'interval «B2:E5».
    Sub TableBorder2Example
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Defineix el nou format de línia
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = cStyle.SOLID
        lineFormat.LineWidth = 15
        lineFormat.Color = RGB(0, 0, 0)
        ' Estructura que emmagatzema la definició del nou «TableBorder2»
        Dim tableFormat as New com.sun.star.table.TableBorder2
        tableFormat.TopLine = lineFormat
        tableFormat.BottomLine = lineFormat
        tableFormat.IsTopLineValid = True
        tableFormat.IsBottomLineValid = True
        ' Aplica la formatació de taula a l'interval «B2:E5»
        Dim oCell as Object
        oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B2:E5")
        oCell.TableBorder2 = tableFormat
    End Sub
  La macro es pot implementar en Python d'aquesta manera:
    from com.sun.star.table import BorderLineStyle as cStyle
    from scriptforge import CreateScriptService
    
    def tableBorder2Example():
        bas = CreateScriptService("Basic")
        line_format = createUnoStruct("com.sun.star.table.BorderLine2")
        line_format.LineStyle = cStyle.SOLID
        line_format.LineWidth = 18
        line_format.Color = bas.RGB(0, 0, 0)
        table_format = createUnoStruct("com.sun.star.table.TableBorder2")
        table_format.TopLine = line_format
        table_format.BottomLine = line_format
        table_format.IsTopLineValid = True
        table_format.IsBottomLineValid = True
        doc = CreateScriptService("Calc")
        cell = doc.XCellRange("B2:E5")
        cell.TableBorder2 = table_format
  Consultar la següent url TableBorder2 Struct Reference a la documentació de l'API de LibreOffice per saber més sobre els seus atributs.