Pomoc za LibreOffice 24.8
Z pomocu programěrowańskich rěcow Basic abo Python daju se makra pisaś, kótarež formaty na celowe wobceŕki w Calc nałožuju.
Slědujucy kodowy wótrězk Sub z mjenim FormatCellBorder napórajo, kótaryž nowe ramikowe formaty na danu wobceŕkowu adresu w aktualnej tabeli Calc nałožujo.
    Sub FormatCellBorder(cellAddress as String, newStyle as Byte, newWidth as Long, Optional newColor as Long)
        ' Napórajo UNO-strukturu, kótaraž nowy smužkowy format składujo
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = newStyle
        lineFormat.LineWidth = newWidth
        If Not IsMissing(newColor) Then lineFormat.Color = newColor
        ' Wuwołujo celowu celu
        Dim oCell as Object
        Set oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(cellAddress)
        ' Nałožujo nowy format na wšykne ramiki
        oCell.TopBorder = lineFormat
        oCell.RightBorder = lineFormat
        oCell.LeftBorder = lineFormat
        oCell.BottomBorder = lineFormat
    End Sub
  Górjejce wopisany Sub styri argumenty pśiwzejo:
cellAdress jo znamuškowy rjeśazk, kótaryž wobceŕk pódawa, kótaryž se ma w formaśe „A1“ formatěrowaś.
newStyle jo cełolicbowa gódnota, kóatraž stiloju ramikoweje linije wótpowědujo (glejśo Linijowe stile dołojce).
newWidth jo cełolicbowa gódnota, kótaraž linijowu tłustosć definěrujo.
newColor jo cełolicbowa gódnota, kótaraž barwje wótpowědujo, kótaraž se z pomocu funkcije RGB definěrujo.
Aby FormatCellBorder wuwołał, napórajśo nowe makro a pśepódajśo póžedane argumenty, ako se dołojce pokazujo:
    Sub MyMacro
        ' Zmóžnja pśistup ku konstantam linijowego stila
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Formatěrujo "B5" z pśeśěgnjonymi módrymi ramikami
        FormatCellBorder("B5", cStyle.SOLID, 20, RGB(0, 0, 255))
        ' Formatěrujo wšykne ramiki we wobceŕku "D2:F6" z cerwjenymi dypkatymi ramikami
        FormatCellBorder("D2:F6", cStyle.DOTTED, 20, RGB(255, 0, 0))
    End Sub
  Jo móžno, samsku funkcionalnosć w Python implementěrowaś:
    from uno import createUnoStruct
    from scriptforge import CreateScriptService
    
    def formatCellBorder(cellAddress, newStyle, newWidth, newColor=0):
        # Definěrujo nowy linijowy format
        line_format = createUnoStruct("com.sun.star.table.BorderLine2")
        line_format.LineStyle = newStyle
        line_format.LineWidth = newWidth
        line_format.Color = newColor
        # Słužba Scriptforge za pśistup k celowym wobceŕkam
        doc = CreateScriptService("Calc")
        cell = doc.XCellRange(cellAddress)
        cell.TopBorder = line_format
        cell.RightBorder = line_format
        cell.LeftBorder = line_format
        cell.BottomBorder = line_format
  Slědujucy kodowy wurězk makro z mjenim myMacro implementěrujo, kótarež formatCellBorder wuwołujo:
    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))
  Górjejce pśedstajony kod Python biblioteku ScriptForge wužywa, kótaraž jo wót wersije LibreOffice 7.2 k dispoziciji.
Linijowe stile su ako cełolicbowe konstanty definěrowane. Slědujuca tabela konstanty za linijowe stile nalicyjo, kótarež su w k dispoziciji:
| Mě konstanty | Cełolicbowa gódnota | Mě linijowego stila | 
|---|---|---|
| SOLID | 0 | Pśeśěgnjony | 
| DOTTED | 1 | Dypkaty | 
| DASHED | 2 | Smužkowany | 
| FINE_DASHED | 14 | Drobnosmužkowany | 
| DOUBLE_THIN | 15 | Dwójny śańki | 
| DASH_DOT | 16 | Smužkowy dypk | 
| DASH_DOT_DOT | 17 | Smužkowy dypkowy dypk | 
Cytajśo BorderLineStyle Constant Reference (engelski) w dokumentaciji API LibreOffice, aby wěcej wó konstantach linijowego stila zgónił.
Wobceŕkowe objekty maju kakosć z mjenim TableBorder2, kótaruž móžośo wužywaś, aby wobceŕkowe ramiki formatěrował, rowno tak ako w dialogu we wótrězku Linijowy pórěd.
Mimo górnych, dolnych, lěwych a pšawych ramikow TableBorder2 teke wertikalne a horicontalne ramiki definěrujo. Slědujuce makro janž górny a dolny ramik na wobceŕk "B2:E5" nałožujo.
    Sub TableBorder2Example
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Definěrujo nowy linijowy format
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = cStyle.SOLID
        lineFormat.LineWidth = 15
        lineFormat.Color = RGB(0, 0, 0)
        ' Struktura, kótaraž nowu definiciju TableBorder2 składujo
        Dim tableFormat as New com.sun.star.table.TableBorder2
        tableFormat.TopLine = lineFormat
        tableFormat.BottomLine = lineFormat
        tableFormat.IsTopLineValid = True
        tableFormat.IsBottomLineValid = True
        ' Nałožujo tabelowy format na wobceŕk "B2:E5"
        Dim oCell as Object
        oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B2:E5")
        oCell.TableBorder2 = tableFormat
    End Sub
  Makro dajo se w Python ako slědujo implementěrowaś:
    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
  Cytajśo TableBorder2 Struct Reference (engelski) w dokumentaciji API LibreOffice, aby wěcej wó jogo atributach zgónił.