【问题标题】:Google Script transforming colours to HEX codes for 23.000 Rows谷歌脚本将颜色转换为 23.000 行的十六进制代码
【发布时间】:2016-01-25 17:11:34
【问题描述】:

我有一个包含 23.000 个单元格 (H3:H23003) 的列表,它们都具有特定的单元格颜色。我需要这些颜色的十六进制值。目前我通过在脚本编辑器中运行这个脚本来获得这些:

function getHex(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange(input);
var result = cell.getBackground();
return result
}

然后我在工作表中使用这个公式:

=getHex(cell("address",G21))

但由于单元格数量众多,复制公式并获得 HEX 值需要很长时间。

有没有办法在自动化的过程中做到这一点,或者有一个可以一次运行每个单元格的脚本,而无需我手动复制公式或计算脚本中的值并粘贴 HEX价值观?

谢谢

【问题讨论】:

  • 感谢 Epascarello 的快速回复。我试图创建一个 for 循环,但我无法让它工作。您是否对我如何使用 for 循环有很好的指导,或者甚至可能知道如何为上述内容编写它?谢谢

标签: javascript google-apps-script google-api hex


【解决方案1】:

不是一次获取一个单元格的背景,而是使用getBackgrounds 一次获取所有背景。示例:

/*
 * Return the backgrounds of the referenced cells.
 * 
 * @param {"A1:A5"} reference A reference string
 *
 * @customfunction
 */
function myBackgrounds(reference) {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange(reference);
  return range.getBackgrounds();
}

【讨论】:

    猜你喜欢
    • 2019-06-29
    • 2012-08-23
    • 1970-01-01
    • 2015-04-12
    • 2018-10-13
    • 2017-06-13
    • 2012-05-14
    • 2011-12-09
    相关资源
    最近更新 更多