我正在尝试创建一个实时自动化,以便在单元格变为特定值时隐藏行。
我是 Google 表格或脚本新手。目前我只能得到这个功能,
function hideRowsBasedOnCell() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getDataRange();
var values = range.getValues();
for (var i = 0; i < values.length; i++) {
if (values[i][0] == "Hide") {
sheet.hideRows(i + 1);
}
}
}
每次我想隐藏该行时都必须运行它。
有没有办法实时隐藏该行?这样,我就不必创建一个可以单击的按钮。
要在单元格值更改为特定值时自动运行脚本,请使用触发器,更具体地说,是编辑触发器。
触发器有两种类型:简单的和可安装的。简单的触发器使用保留的函数名称
onEdit
。可安装的触发器可以运行一个函数;避免将其设置为运行名为 onEdit 的函数,因为它将运行两次。
要详细了解 Google Apps 脚本中的触发器,请阅读 https://developers.google.com/apps-script/guides/triggers 和 https://developers.google.com/apps-script/guides/触发器/可安装。
使用带有 if 语句的 onEdit 简单触发器仅当新单元格值为
certain value
时才调用函数的示例。
function onEdit(e){
if(e.value === 'certain value'){
hideRowsBasedOnCell();
}
}
注意:由于上述函数使用了编辑时事件对象,因此不应通过单击 Run 按钮从 Google Apps 脚本代码编辑器运行该函数。