在 LibreOffice 中更改单元格背景颜色

Sab*_*lfy 6 macros spreadsheet background-color libreoffice libreoffice-basic

我正在使用 LibreOffice 3.5.4.2。我想根据各种条件更改单元格的背景颜色。作为一个最小的例子,我定义了以下宏/函数:

function bgcolor()
Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object   

Doc = ThisComponent
Sheet = Doc.Sheets(1)

Cell = Sheet.getCellByPosition(0, 0)
REM Cell.CellBackColor = RGB(50,60,70)
bgcolor=Cell.CellBackColor
end function
Run Code Online (Sandbox Code Playgroud)

我通过进入=BGCOLOR()一个单元格来执行该功能。正如预期的那样,存在该公式的单元格返回第一个单元格(0,0)A1工作表 1 上的颜色值。

但是,我无法获得更改 cell 背景颜色的功能A1。单元格的背景颜色不,当我删除改变REM线在上面的例子中,以设定的背景色。

如何使用 LibreOffice 中的函数设置单元格的背景颜色?

(我阅读了关于使用“样式”的内容,但没有进一步研究这个,因为我需要设置许多不同的背景颜色并且不想制作许多不同的样式。可以在不使用样式的情况下手动更改背景颜色,所以我认为可以以编程方式执行相同的操作。)

bdo*_*gus 0

Cell.BackColor = RGB(50,60,70) should do the trick
Run Code Online (Sandbox Code Playgroud)

编辑:这仅适用于 lowriter。谢谢坎帕。