Gnumeric / LO Calc - 如何获得细胞背景颜色?

时间:2012-03-13 07:20:46

标签: spreadsheet openoffice-calc gnumeric

我有大型电子表格,哪些行根据规则着色,无法从可用的单元格数据中提取 - 没有此类信息。所以我想查找单元格颜色并将其设为值。

电子表格是这样的:

----------
data|data| <-- background colored row in red
----------
data|data| <-- background colored row in blue
----------
data|data| <-- background colored row in yellow
----------

我想创建一个根据这种颜色有价值的新列 Excel / Gnumeric / LO Calc都有名为cell的信息查找功能和属性“颜色”,不幸的是它没有返回有用的值:

cell("color", A2)

返回0或1,这只是提供类似于我需要的功能的函数。

如何以任何方式返回Gnumeric或LO Calc中的单元格背景颜色 - 通过插件或其他任何方式?

1 个答案:

答案 0 :(得分:3)

在LibreOffice Calc中:

  1. 转到工具&gt;宏&gt;组织宏&gt; LibreOffice Basic&gt;
    我的宏&gt;标准&gt;模块1

  2. 选择“主要”并点击“修改”。

  3. 它将包含空的3行模板:

    REM  *****  BASIC  *****
    
    Sub Main
    
    End Sub
    

    在模板后添加:

    Function bgcolor(c,r)
      Dim oDoc  As Object   ' define variables
      Dim oSheet As Object
      Dim oCell As Object
      oDoc  = ThisComponent
      oSheet= oDoc.getSheets().getByIndex(0)
      oCell = oSheet.getCellByPosition(c-1,r-1)
      bgcolor = oCell.CellBackColor
    End Function
    

    您应该在编辑器中看到类似的内容:

    BGColor Macro in LibreOffice Calc

  4. 关闭管理器,现在您可以像使用任何其他功能一样使用此功能:

  5. 示例:

    bgcolor(3,1)
    bgcolor(3, CELL("Row",A1))
    bgcolor(CELL("COL", A1), CELL("ROW", A1))