我正在尝试根据颜色变化更改单元格值...当我更改单元格中的颜色时,没有任何反应。没有为单元格设置文本。
public function setIsPublished($isPublished) {
$this->is_published = $isPublished;
return $this;
}
答案 0 :(得分:1)
要使函数触发,您需要设置一个简单或可安装的触发器。
最简单的方法是将您的功能重命名为onEdit
,这将自动充当简单触发器。
或者,您可以转到Resources
菜单设置可安装触发器,然后转到Current Projects Triggers
,点击no triggers setup...
文字,然后选择您的功能,从电子表格中选择,然后选择在编辑,如下图。
答案 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;
}
}