将数据添加到另一个电子表格

Adding The data into another spreadsheet

此代码将 Spreadsheet A Sheet1 中最后编辑的数据重新编码为相同的 Spreadsheet A Sheet2,但我希望将数据 (Spreadsheet A Sheet1) 添加到另一个 Spreadsheet B Sheet2

我无法配置如何修改代码,因为它看起来有点复杂。

你能帮我修改一下这段代码吗?

function onEdit(e) {
  const range = e.range;
  const sheet = range.getSheet();
  if (sheet.getSheetName() != "Sheet1" || range.rowStart == 1) return;
  const col = range.columnStart - 1;
  const [header, ...values] = sheet.getDataRange().getDisplayValues();
  const value = values[range.rowStart - 2];
  const v = [[`${value[0]} - ${value[1]}`, `${header[col]} - ${value[col]}`]];
  e.source.getSheetByName("Sheet2").getRange("A2:B2").setValues(v);
  
}

你的情况,下面的修改怎么样?

发件人:

e.source.getSheetByName("Sheet2").getRange("A2:B2").setValues(v);

收件人:

SpreadsheetApp.openById("###SpreadsheetID of SpreadsheetB###").getSheetByName("Sheet2").getRange("A2:B2").setValues(v);

另外,请将函数名称从 onEdit 重命名为 installedOnEdit 等其他名称。而且,please install OnEdit trigger to the renamed function as the installable trigger。因为 openById 不能与简单触发器一起使用。我认为这可能是您 it keeps giving error message.

问题的原因

使用此脚本时,请编辑单元格。这样,脚本就是运行.

注:

  • 在编辑单元格时将OnEdit 触发器安装到onEdit 函数时,简单触发器和可安装触发器都运行 具有异步过程。 Ref 所以我提出重命名函数名。请注意这一点。

参考: