Google表格:动态更改活动单元格中的值?

时间:2016-08-04 00:28:38

标签: google-sheets google-spreadsheet-api

我正在尝试根据颜色变化更改单元格值...当我更改单元格中的颜色时,没有任何反应。没有为单元格设置文本。

public function setIsPublished($isPublished) {
    $this->is_published = $isPublished;
    return $this;
}

2 个答案:

答案 0 :(得分:1)

要使函数触发,您需要设置一个简单或可安装的触发器。

最简单的方法是将您的功能重命名为onEdit,这将自动充当简单触发器。

或者,您可以转到Resources菜单设置可安装触发器,然后转到Current Projects Triggers,点击no triggers setup...文字,然后选择您的功能,从电子表格中选择,然后选择在编辑,如下图。

enter image description here

enter image description here

Simple Triggers Documentation

Installable Triggers Documentation

答案 1 :(得分:1)

我尝试了这一点并发现了两件事。首先,您必须使用颜色的十六进制代码而不是名称,即#ff0000而不是red。此外,似乎更改单元格的背景颜色不被视为编辑。因此,如果您更改单元格的颜色,则在其中键入任何内容(即使单个空格也可以),退出单元格后,文本将更改为您想要的内容。以下适用于我 - 我使用单个onEdit(e)而不是完全触发,并根据颜色进行切换:

function onEdit(e){
  var cell = e.source.getActiveSheet().getActiveCell();

  var currentColor = cell.getBackgroundColor();

  switch (currentColor){

    case '#ffdc32':
      cell.setValue('IN PROGRESS');
      break;

    case '#00ff00':
      cell.setValue('COMPLETED');
      break;

    case '#ff0000':
      cell.setValue('ERRORS');
      break;

    default:
      break;
  }
}