【发布时间】:2019-05-08 05:09:02
【问题描述】:
我正在尝试获取一个复选框以在它所在的行上运行脚本。它需要遍历指定工作表中的所有行。
如果在 F 列中选中了一个复选框,我想安排一个脚本来清除 B-F 列。
B 是一个复选框,应该设置为 FALSE C 是经过数据验证的输入 D 是数据验证输入 E 是一个公式,它依赖于 C 和 D 中的数据。公式应该保留。
F 为 true 是触发复选框
如果勾选了F,则清除B、C、D、F中的内容(E是公式,不应该清除)
我尝试从此处和其他链接修改脚本但没有成功:
Using a script to generate docs from rows in Google Sheet if checkbox is checked
Google Sheets Script to Hide Row if Checkbox Checked
function try_It(){
deleteRow(5); //// choose col = 2 for column C, 5 for F
}
function deleteRowContents (col){ // col is the index of the column to check for checkbox being true
var sh = SpreadsheetApp.getActiveSheet();
var data = sh.getDataRange().getValues();
var targetData = new Array();
for(n=0;n<data.length;++n){
if(data[n][col]!="TRUE" && data[n][col]!="FALSE"){ targetData.push(data[n])};
}
Logger.log(targetData);
sh.getDataRange().clear();
sh.getRange(1,1,targetData.length,targetData[0].length).setValues(targetData);
}
预期结果: 如果选中 F 列,请清除同一行中的 B:F。(我知道上面的这个脚本甚至还没有完成)。
实际结果: 这将删除整个工作表上的所有格式。 即使在 F 列复选框中,它也无法正确清除范围。
【问题讨论】:
标签: google-apps-script google-sheets