You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets脚本:如何在指定范围追加行并保留A列复选框?

修改方案及代码
function criarRegistro() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("EQUIPAMENTOS NO LABORATÓRIO");
  
  // 获取C2:G2的数据源并转为一维数组
  var sourceRange = sheet.getRange("C2:G2");
  var values = sourceRange.getValues()[0];
  
  // 计算下一个待写入的空白行
  var nextRow = sheet.getLastRow() + 1;
  
  // 在A列对应行插入未勾选的复选框
  var checkboxCell = sheet.getRange(nextRow, 1);
  checkboxCell.insertCheckboxes().setValue(false);
  
  // 将数据从B列开始写入目标行(覆盖B到F列,对应原C2:G2的5列数据)
  var targetRange = sheet.getRange(nextRow, 2, 1, values.length);
  targetRange.setValues([values]);
  
  // 可选:取消注释可清空C2:G2的输入内容
  // sourceRange.clearContent();
  
  ss.toast("Registro finalizado");
  SpreadsheetApp.flush();
}

关键修改说明

  • 去掉重复的工作表变量:原代码中sheet和destinyLog指向同一张表,直接合并简化逻辑
  • 替换appendRow:原方法会从A列开始写入,改为先定位下一行,再从B列精准写入数据
  • 单独处理复选框:通过insertCheckboxes()在A列目标行插入控件,并强制设置为未勾选状态,避免复选框被误识别为普通数据
  • 保留原功能选项:清空输入区域的代码以注释形式保留,可按需启用

内容的提问来源于stack exchange,提问作者DimitryART

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 21:05:18