【问题标题】:Copy data from one spreadsheet to another on edit在编辑时将数据从一个电子表格复制到另一个电子表格
【发布时间】:2021-04-13 14:49:12
【问题描述】:

我已经尝试了一切,但我无法完成这项工作 =/

我正在尝试使用 setValues() 将数据从一个电子表格复制到另一个电子表格,因为链接对我不起作用。我还需要保持触发器处于编辑状态。

因此,我创建了一个名为 AddConvocacao 的函数,并且总是在有任何更改时运行脚本。

function addConvocacao(e){
  var linha = e.range.getRow(); //get the number of the line, where have edit
  var nome = e.source.getActiveSheet().getRange(linha,2).getValue(); //get the value of the field 

  var targetSheet = SpreadsheetApp.openById('1iQbZ7iB9ddc-HwLK9vG0eVEeWWqXKJZ0ry7U_Hm4SkQ') //open the other spreedsheet 
  var targetName = targetSheet.getSheetByName('Pac'); //open the tab
  var lastRow = targetName.getLastRow(); //count the last row in this tab
  lastRow = lastRow+1; //add 1
  
 targetName.getRange(lastRow, 2).setValue(nome); // set the value 
 // targetName.getRange(lastRow, 3).setValue(valorCol7);
 // targetName.getRange(lastRow, 5).setValue(dose);
 // targetName.getRange(lastRow, 6).setValue(diagnostico);
 // targetName.getRange(lastRow, 7).setValue(medico);
}

为什么我在编辑时使用不工作?

非常感谢! =)

【问题讨论】:

  • 请记住 onEdit 仅在用户编辑时触发。它不会在脚本或公式更改时触发。
  • 感谢您的回答!是的,我知道,我正在尝试在用户编辑某些内容后,脚本运行并将数据复制到另一个电子表格。谢谢!

标签: javascript google-apps-script google-sheets google-sheets-formula spreadsheet


【解决方案1】:

我觉得我做的有点不同。我将复选框放在第一列并从第 2 列捕获值并将其发送到另一个电子表格到第 2 列的底部

function onMyEdit(e) {
  //e.source.toast('entry');
  const sh = e.range.getSheet();
  //Logger.log(JSON.stringify(e));
  if (sh.getName() == 'Sheet1' && e.range.columnStart==1 && e.value=="TRUE") {
    //e.source.toast('cond');
    const v = sh.getRange(e.range.rowStart, 2).getValue();
    var tss = SpreadsheetApp.openById(getGlobal('targetid'));
    var tsh = tss.getSheetByName('Sheet1');
    tsh.getRange(tsh.getLastRow() + 1, 2).setValue(v);
    e.range.setValue("FALSE");
  }
}

您必须使用可安装的触发器给我们 openById();

getGlobal(targetid) 只是获取一个电子表格 id,您可以将其替换为 id

此外,我将操作限制在一张纸上,并且仅当我将复选框设置为 true 时。我在代码中将其重置为 false。

你需要修改一些东西才能让它为你工作,因为当我做示例时,我会按照自己的方式来做。

【讨论】:

  • 感谢您的回答!我只需要尝试,但看起来非常好!非常感谢! =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 2018-12-20
  • 2016-10-06
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
相关资源
最近更新 更多