【问题标题】:Google Apps script - change the background color of a cell with a hex value from another cellGoogle Apps 脚本 - 使用来自另一个单元格的十六进制值更改单元格的背景颜色
【发布时间】:2014-06-23 21:46:44
【问题描述】:

我正在尝试使用另一个单元格的十六进制值更改单元格的背景颜色。例如,我想让 A2 中的单元格的背景颜色为#333333(即单元格 A1 的文本值)。这是我到目前为止的代码:

function setColor(targetCell) {

  // get targetCell's value (a hex value)
  // set the background of the active cell to the value of targetCell

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var value = ss.getRange(targetCell).getValue();
  var cell = sheet.getActiveCell().setBackground(value);
  return cell;

};

现在代码将无法运行,因为 getRange(targetCell) 不正确,但即使我将 targetCell 替换为“A1”之类的内容,我也会收到错误消息“您无权调用 setBackground(第 9 行) "

【问题讨论】:

  • 你是如何使用这个功能的?自定义函数?
  • 是的,我希望能够将其包含在带有 setColor(targetCell) 的电子表格中,其中 targetCell 是对另一个具有十六进制值的单元格的引用
  • 可能重复使用自定义函数修改另一个单元格的其他问题。

标签: google-apps-script google-drive-api google-apps


【解决方案1】:

简而言之,自定义函数不能修改其他单元格,

请参阅有关自定义函数的文档以了解其限制。

【讨论】:

    【解决方案2】:

    错误似乎是一个错误。

    (该函数没有尝试修改另一个单元格,因为 getActiveCell() 返回当前单元格。)

    【讨论】:

    • 赞成。虽然在技术上是正确的,但这不是一个错误。接受的答案应该改为Formulas cannot modify cell format
    猜你喜欢
    • 2015-08-26
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多