Google 将单元格值复制到另一个的脚本 Google sheet

Google Script to Copy cells value to another Google sheet

我有 2 个 google sheet,第一个 Sheet 有复选框。 要求:选中复选框时,C5 单元格中的值需要存储在Sheet2 中。当复选框被选中即值为 'True' 时,Sheet1 的单元格 C5 中的值需要以连续的方式提交到 Sheet2 中。 我知道这是个愚蠢的要求,但我也尝试了几次,但都失败了。

尝试

function onEdit(event) {
  var sh1 = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if (sh1.getName() == 'Sheet1' && r.getA1Notation() == 'D5' && r.getValue() == true) {
    var sh2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2')
    sh2.getRange('A' + (sh2.getLastRow() + 1)).setValue(r.offset(0, -1).getValue())
    r.setValue(!r.getValue())
  }
}

选中复选框时将 C5 存储在 Sheet2 中

function onEdit(e) {
  var sh1 = e.range.getSheet();
  if (sh1.getName() == 'Sheet1' && e.range.columnStart == 4 && e.range.rowStart == 5 && e.value == "TRUE") {
    var sh2 = e.source.getSheetByName('Sheet2');
    sh2.getRange(sh2.getLastRow() + 1, 1).setValue(e.range.offset(0, -1).getValue());
    e.range.setValue("FALSE");
  }
}