2012-03-13 82 views
3

我有大的电子表格,哪些行按照规则着色,哪些行不能从可用的单元格数据中分离出来 - 没有这样的信息。所以我想查找单元格颜色并使其成为一种价值。Gnumeric/LO Calc - 如何获取单元格背景颜色?

电子表格是这样的:

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

,我想创建新列,这将有根据这个颜色值。
的Excel/Gnumeric电子/ LO计算器都具有信息查询功能称为cell和属性“颜色”,这可惜的是不返回有用的值:

cell("color", A2)

返回0或1,这是唯一的功能产品一个类似于我需要的功能。

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

回答

3

在LibreOffice的计算:

  1. 转到工具>宏>管理宏>的LibreOffice基本>
    我的宏>标准>模块1

  2. 选择 “主”,然后单击“编辑。 “

  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. 关闭主办单位,现在你可以使用函数像任何其他功能:

例子:

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