LibreOffice 25.2 Hjelp
Ved å bruka programmeringsspråka Basic eller Python er det mogleg å skriva makroar som brukar format på celleområde i Calc.
Kodesnutten nedanfor lagar ein Sub kalla FormatCellBorder som brukar nye kantformat på ei gjeve områdeadresse i det gjeldande Calc-arket.
    Sub FormatCellBorder(cellAddress as String, newStyle as Byte, newWidth as Long, Optional newColor as Long)
        ' Lagar UNO -strukturen som lagrar det nye linjeformatet
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = newStyle
        lineFormat.LineWidth = newWidth
        If Not IsMissing(newColor) Then lineFormat.Color = newColor
        ' Hentar målcella
        Dim oCell as Object
        Set oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(cellAddress)
        ' Brukar det nye formatet på alle kantlinjene
        oCell.TopBorder = lineFormat
        oCell.RightBorder = lineFormat
        oCell.LeftBorder = lineFormat
        oCell.BottomBorder = lineFormat
    End Sub
  Sub omtala ovanfor inneheld fire argument:
cellAddress er ein streng som gjev området som skal formaterast i formatet "A1".
nyStil er ein heiltalsverdi som svarar til kantlinjestilen (sjå Linjestilar nedanfor).
newWidth er ein heiltalsverdi som definerer linjebreidda.
newColor er eit heiltal som svarar til ein farge som er definert med funksjonen RGB .
For å kalla opp FormatCellBorder, lagar du ein ny ny makro og vidaresender dei ønskte argumenta som vist nedanfor:
    Sub MyMacro
        ' Gjev tilgang til linjestilkonstantane
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Formater "B5" med einsfarga blå kantar
        FormatCellBorder("B5", cStyle.SOLID, 20, RGB(0, 0, 255))
        ' Formaterer alle kantlinjene i området «D2: F6» med raude, prikkete kantar
        FormatCellBorder("D2:F6", cStyle.DOTTED, 20, RGB(255, 0, 0))
    End Sub
  Det er mogleg å bruka den same funksjonaliteten i Python:
    from uno import createUnoStruct
    from scriptforge import CreateScriptService
    
    def formatCellBorder(cellAddress, newStyle, newWidth, newColor=0):
        # Definerer det nye linjeformatet
        line_format = createUnoStruct("com.sun.star.table.BorderLine2")
        line_format.LineStyle = newStyle
        line_format.LineWidth = newWidth
        line_format.Color = newColor
        # Scriptforge-teneste for å få tilgang til celleområde
        doc = CreateScriptService("Calc")
        cell = doc.XCellRange(cellAddress)
        cell.TopBorder = line_format
        cell.RightBorder = line_format
        cell.LeftBorder = line_format
        cell.BottomBorder = line_format
  Kodesnutten nedanfor implementerer makroen myMacro som kallar opp 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))
  Python-koden som er vist ovanfor brukar ScriptForge-biblioteket som er tilgjengeleg sidan LibreOffice 7.2.
Linjestilar er definerte som heiltalskonstantar. Tabellen nedanfor viser konstantane for linjestilane som er tilgjengelege i :
| Konstantnamn | Heiltalsverdi | Linjestilnamn | 
|---|---|---|
| SOLID | 0 | Einsfarga | 
| DOTTED | 1 | Prikka | 
| DASHED | 2 | Streka | 
| FINE_DASHED | 14 | Finstreka | 
| DOUBLE_THIN | 15 | Dobbel tynn | 
| DASH_DOT | 16 | Strek punkt | 
| DASH_DOT_DOT | 17 | Strek punkt punkt | 
Sjå kantlinjestil, konstantreferanse i LibreOffice API-dokumentasjonen for å læra meir om linestilkonstantar.
Områdeobjekt har ein eigenskap som heiter TableBorder2. Denne kan brukast til å formatera områdegrenselinjer slik det vert gjort i fana Kantlinjer i dialogvindauget .
I tillegg til øvre, nedre, venstre og høgre kant, definerer TableBorder2 også loddrette og vassrette kantlinjer. Makroen nedanfor gjeld berre øvre og nedre kantlinje for området «B2: E5».
    Sub TableBorder2Example
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Definerer det nye linjeformatet
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = cStyle.SOLID
        lineFormat.LineWidth = 15
        lineFormat.Color = RGB(0, 0, 0)
        ' Struktur som lagrar den nye TableBorder2-definisjonen
        Dim tableFormat as New com.sun.star.table.TableBorder2
        tableFormat.TopLine = lineFormat
        tableFormat.BottomLine = lineFormat
        tableFormat.IsTopLineValid = True
        tableFormat.IsBottomLineValid = True
        ' Brukar tabellformatet for området «B2: E5»
        Dim oCell as Object
        oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B2:E5")
        oCell.TableBorder2 = tableFormat
    End Sub
  Makroen kan implementerast slik i Python:
    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
  Sjå TableBorder2 Strukturreferanse i LibreOffice API-dokumentasjonen for å læra meir om attributta.