如果 BD 列已填充或未填充,此脚本会尝试在 A 列中添加或删除复选框。如果该行的这三列中的每个单元格都已填充,则在 A 列中插入一个复选框。如果该行的这三列中的一个单元格未填充,则不会插入复选框。
A 列 = 复选框
B 栏 = 标题
C 列 = tstart
D 列 = tstop
function refreshCheckboxes(){
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet_name');
var rows = sheet.getDataRange().getValues();
var headers = rows.shift();
var checkbox = row[0]
var title = row[1];
var tstart = row[2];
var tstop = row[3];
for (var i = 0; i < rows.length; i++) {
if (rows[[title][tstart][tstop]] !== "") {
checkbox.insertCheckboxes();
} else {
checkbox.clearDataValidations();
checkbox.clearContent();
}
}
}
目前的结果:
设置行变量时发生ReferenceError: row is not Defined 。我不确定为什么会收到该错误,因为我有类似的函数以这种方式定义行变量。我对该脚本的另一个担心是如何设置 BD 列。数组在这里合适吗?有没有更好的方法来设置它?
期望的结果:
确定导致行定义错误的原因并进行更正。验证 AND() 功能是否有效。
我已经有一个 onEdit() ,它可以完美地工作,而不是一次只适用于一行,因此我想进行自定义以根据需要运行。
谢谢!