我使用的是 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
我通过输入执行该函数=BGCOLOR()
进入一个细胞。存在该公式的单元格返回第一个单元格的颜色值(0,0)
or A1
正如预期的那样,在第 1 页上。
但是,我无法获得更改单元格背景颜色的功能A1
。单元格背景颜色not当我删除时改变REM
上面示例中的行set背景颜色。
如何使用 LibreOffice 中的函数设置单元格的背景颜色?
(我读到了有关使用“样式”的内容,但没有进一步研究这一点,因为我需要设置许多不同的背景颜色并且不想制作许多不同的样式。可以在不使用样式的情况下手动更改背景颜色,所以我认为可以通过编程方式执行相同的操作。)
首先,您的宏总体上没有任何问题。如所述,设置 CellBackColor 的单行是正确的。问题在于该函数是从您尝试修改的工作表中调用的。不允许函数修改调用它的工作表。因此,如果您从工作表 1 调用函数,然后尝试更改工作表 1 中单元格的背景颜色,则会失败。但是,如果您在从工作表 1 调用时尝试更改工作表 0 上单元格的背景颜色,则该操作将按预期工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)