Помощ за LibreOffice 25.2
Чрез езиците за програмиране Basic или Python е възможно да се напишат макроси, които прилагат формати върху диапазони от клетки в Calc.
Долният откъс код създава подпрограма от тип Sub с име FormatCellBorder, която прилага нови формати на кантове върху даден адрес на диапазон в текущия лист на Calc.
    Sub FormatCellBorder(cellAddress as String, newStyle as Byte, newWidth as Long, Optional newColor as Long)
        ' Създава структура на UNO, която ще съхранява новия формат на линиите
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = newStyle
        lineFormat.LineWidth = newWidth
        If Not IsMissing(newColor) Then lineFormat.Color = newColor
        ' Извлича клетката цел
        Dim oCell as Object
        Set oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName(cellAddress)
        ' Прилага новия формат върху всички кантове
        oCell.TopBorder = lineFormat
        oCell.RightBorder = lineFormat
        oCell.LeftBorder = lineFormat
        oCell.BottomBorder = lineFormat
    End Sub
  Описаната по-горе подпрограма от тип Sub приема четири аргумента:
cellAddress е низ, указващ диапазона за форматиране във формат "A1".
newStyle е цяло число, което съответства на стила на линия за кантовете (вижте Стилове на линии по-долу).
newWidth е целочислена стойност, която задава дебелината на линията.
newColor е целочислена стойност, съответстваща на цвят, зададена с функцията RGB.
За да извикате FormatCellBorder, създайте нов макрос и предайте желаните аргументи, както е показано по-долу:
    Sub MyMacro
        ' Дава достъп до константите за стилове на линии
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Форматира "B5" с плътни сини кантове.
        FormatCellBorder("B5", cStyle.SOLID, 20, RGB(0, 0, 255))
        ' Форматира всички кантове в диапазона "D2:F6" с червени пунктирани линии.
        FormatCellBorder("D2:F6", cStyle.DOTTED, 20, RGB(255, 0, 0))
    End Sub
  Същата функционалност може да се реализира и с Python:
    from uno import createUnoStruct
    from scriptforge import CreateScriptService
    
    def formatCellBorder(cellAddress, newStyle, newWidth, newColor=0):
        # Дефинира новия формат на линия.
        line_format = createUnoStruct("com.sun.star.table.BorderLine2")
        line_format.LineStyle = newStyle
        line_format.LineWidth = newWidth
        line_format.Color = newColor
        # Услуга на Scriptforge за достъп до диапазони от клетки
        doc = CreateScriptService("Calc")
        cell = doc.XCellRange(cellAddress)
        cell.TopBorder = line_format
        cell.RightBorder = line_format
        cell.LeftBorder = line_format
        cell.BottomBorder = line_format
  Откъсът код по-долу реализира макрос с име myMacro, който извиква 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 използва библиотеката ScriptForge, която е налична от LibreOffice 7.2 нататък.
Стиловете за линии са дефинирани като целочислени константи. В долната таблица са изброени константите за стилове на линия, налични във :
| Име на константа | Целочислена стойност | Име на стил за линии | 
|---|---|---|
| SOLID | 0 | Непрекъсната | 
| DOTTED | 1 | Пунктирана | 
| DASHED | 2 | Прекъсната | 
| FINE_DASHED | 14 | Тънка прекъсната | 
| DOUBLE_THIN | 15 | Двойна тънка | 
| DASH_DOT | 16 | Тире, точка | 
| DASH_DOT_DOT | 17 | Тире, точка, точка | 
Вижте BorderLineStyle Constant Reference (на английски) в документацията на LibreOffice API, за да научите повече за константите за стилове на линия.
Обектите диапазони имат свойство с име TableBorder2, което може да се използва за форматиране на кантовете на диапазони, както в диалога , в областта Подреждане на линиите.
Освен горни, долни, леви и десни кантове, TableBorder2 дефинира също вертикални и хоризонтални кантове. Долният макрос прилага само горен и долен кант върху диапазона "B2:E5".
    Sub TableBorder2Example
        Dim cStyle as Object
        Set cStyle = com.sun.star.table.BorderLineStyle
        ' Дефинира новия формат на линия.
        Dim lineFormat as New com.sun.star.table.BorderLine2
        lineFormat.LineStyle = cStyle.SOLID
        lineFormat.LineWidth = 15
        lineFormat.Color = RGB(0, 0, 0)
        ' Структура, която съдържа новата дефиниция за TableBorder2
        Dim tableFormat as New com.sun.star.table.TableBorder2
        tableFormat.TopLine = lineFormat
        tableFormat.BottomLine = lineFormat
        tableFormat.IsTopLineValid = True
        tableFormat.IsBottomLineValid = True
        ' Прилага формата за таблици върху диапазона "B2:E5".
        Dim oCell as Object
        oCell = ThisComponent.CurrentController.ActiveSheet.getCellRangeByName("B2:E5")
        oCell.TableBorder2 = tableFormat
    End Sub
  Макросът може да бъде реализиран на 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
  Вижте TableBorder2 Struct Reference (на английски) в документацията на LibreOffice API, за да научите повече за атрибутите на тази структура.