如何修改Google Apps Script实现在指定多列添加Checkbox
修改后的Google Apps Script代码
function onEdit(e) { const watchSheets = /^(Sheet1|Sheet2|Sheet3)$/i; const watchColumn = 5; // 配置需要插入Checkbox的目标列,可按需求增减调整 const checkboxColumns = [1, 2, 4]; if (e.range.columnStart !== watchColumn || !e.source.getActiveSheet().getName().match(watchSheets)) { return; } const activeSheet = e.source.getActiveSheet(); const currentEditRow = e.range.rowStart; // 遍历所有目标列批量处理 checkboxColumns.forEach(columnNum => { const targetCell = activeSheet.getRange(currentEditRow, columnNum); if (e.value) { targetCell.insertCheckboxes(); } else { targetCell.clearDataValidations(); targetCell.clearContent(); } }) }
核心调整说明
- 将原代码中单个目标列参数
checkboxColumn改为数组checkboxColumns,直接填入你需要的第1、2、4列 - 新增遍历逻辑,对每个指定目标列的对应行单元格执行相同的插入/清除操作
- 原有监听逻辑保持不变,你可以根据实际使用需求调整
watchColumn(监听触发列)和watchSheets(生效工作表范围)的参数值
内容的提问来源于stack exchange,提问作者Hibernian
相关产品推荐
相关产品推荐

