对Google表格onEdit脚本进行故障排除,以检查单元格的值,然后运行功能

时间:2019-01-18 17:12:40

标签: javascript google-sheets triggers google-sheets-api eventtrigger

我正在尝试编写一个Google表格脚本,该脚本将检查在一张纸上的特定单元格中所做的编辑,然后触发一个函数,该功能可将数据从另一张纸复制并粘贴到第三张纸中。然后,第一页仅用于触发脚本的实际运行,而我认为这是问题所在。

我整天尝试了许多不同的方法来完成这项工作,而在编辑单元格时我只是无法触发脚本。但是,如果我分别手动运行第二部分(该函数)(即不使用触发器),则该位可以正常工作,因此这使我得出结论,我在触发器部分做错了什么。也就是说,开发人员控制台中的执行记录不会出现任何错误,因此我完全不知所措。

代码如下:

  function DistributeOnEdit(event) {

   var sheet = event.source.getActiveSheet();
   if (sheet.getName() !== "DO NOT DELETE" || event.range.getA1Notation() !== "F10") return;

  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var source_sheet = ss.getSheetByName("EDIT: Basic Info");
  var last_source_row = source_sheet.getLastRow();
  var sourceData = source_sheet.getRange("B"+(last_source_row)+":"+"C"+(last_source_row)).getValues();
  var target_sheet = ss.getSheetByName("Pay");
  var last_row = target_sheet.getLastRow();
  target_sheet.insertRowAfter(last_row);
  target_sheet.getRange("A"+(last_row+1)+":"+"B"+(last_row+1)).setValues(sourceData);
  }

因此,我正在尝试检查选项卡请勿删除中的单元格 F10 ,以在脚本更改为'是'。我认为脚本的第二部分对于这个问题并不重要,但是为了清楚起见,我希望将第二行中的最后一行数据取为 B C 标签'EDIT:Basic Info',然后将其粘贴到名为'Pay'的标签中。

我在做什么错?请帮忙。

0 个答案:

没有答案