【发布时间】:2019-02-22 19:48:40
【问题描述】:
我的 Google Apps 脚本存在问题,应该触发将范围复制到另一个 Google 电子表格。奇怪的是,如果通过脚本编辑器启动脚本,它可以完美运行。但它不能通过触发器(onEdit)工作。
脚本本身要长得多,并且在同一个电子表格中与数据处理相关的所有内容都可以成功触发。只有特定范围的副本到另一个电子表格不起作用。但正如我所提到的,如果我通过脚本编辑器运行它,它就可以工作。
请看下面我的脚本的简单表示:
function onEdit(e){
var sourceFile1 = SpreadsheetApp.getActiveSpreadsheet();
var sheet = sourceFile1.getActiveSheet();
var selectedRange = sheet.getRange(44,1, 1, 29);
var sourceData = selectedRange.getValues();
var destinationFile = SpreadsheetApp.openById(" ");
var destinationSheet = destinationFile.getSheetByName("Orders");
var lastRow = destinationSheet.getLastRow();
lastRow = lastRow + 1;
destinationSheet.getRange(lastRow, 1, 1, 29).setValues(sourceData);
}
【问题讨论】:
-
onEdit是如何触发的?它通常由手动编辑单元格触发。
-
是的,onEdit 是通过手动编辑 sourceFile1 中的单元格来触发的。当我开始手动编辑时,脚本的其余部分会真正被触发和执行。只有上面的代码没有被执行。
标签: google-apps-script google-sheets triggers