gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 04:27:21 24 4
gpt4 key购买 nike

我使用的是 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() 来执行该函数。正如预期的那样,包含该公式的单元格返回工作表 1 上第一个单元格 (0,0)A1 的颜色值。

但是,我无法获得更改单元格A1背景颜色的功能。当我删除上面示例中的 REM 行来设置背景颜色时,单元格背景颜色不会改变。

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

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

最佳答案

首先,您的宏总体上没有任何问题。如所述,设置 CellBackColor 的单行是正确的。问题在于该函数是从您尝试修改的工作表中调用的。不允许函数修改调用它的工作表。因此,如果您从工作表 1 调用函数,然后尝试更改工作表 1 中单元格的背景颜色,则会失败。但是,如果您在从工作表 1 调用时尝试更改工作表 0 上单元格的背景颜色,那么这将按预期工作。

关于macros - 在 LibreOffice 中更改单元格背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12089051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com