Google apps script onEdit Google脚本未被调用

Google apps script onEdit Google脚本未被调用,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想在谷歌电子表格中编辑或添加单元格时执行一个函数 我有下面的功能,但它不工作。请帮忙。我还想在X秒后调用函数Start sync。如何在调用startSync()时给予延迟 无论何时编辑单元格,都会向单元格中添加注释(注释),但不会调用startSync function startSync() { //Get the currently active sheet var sheet = SpreadsheetApp.getActiveSheet(); //Get the num

我想在谷歌电子表格中编辑或添加单元格时执行一个函数

我有下面的功能,但它不工作。请帮忙。我还想在X秒后调用函数Start sync。如何在调用startSync()时给予延迟


无论何时编辑单元格,都会向单元格中添加注释(注释),但不会调用startSync

function startSync() {
  //Get the currently active sheet
  var sheet = SpreadsheetApp.getActiveSheet();
  //Get the number of rows and columns which contain some content
  var [rows, columns] = [sheet.getLastRow(), sheet.getLastColumn()];
  //Get the data contained in those rows and columns as a 2 dimensional array
  var data = sheet.getRange(1, 1, rows, columns).getValues();

  syncMasterSheet(data);
}
答复:
可安装触发器帮助我调用StartSync()

你不能在大多数
方法中使用简单的
onEdit
触发器。您需要使用已安装的
onEdit()
触发器


要延迟函数的启动,请在调用
startSync()
函数之前使用
Utilities.sleep(毫秒)
。有关
实用程序

的详细信息,请参阅setNote可以通过简单的OneEdit触发器正常工作。自定义函数是无法调用大多数
的函数。set*
启动同步调用堆栈调用哪些服务?如果需要授权(例如打开不同的电子表格文档),则不能使用简单的触发器。
function startSync() {
  //Get the currently active sheet
  var sheet = SpreadsheetApp.getActiveSheet();
  //Get the number of rows and columns which contain some content
  var [rows, columns] = [sheet.getLastRow(), sheet.getLastColumn()];
  //Get the data contained in those rows and columns as a 2 dimensional array
  var data = sheet.getRange(1, 1, rows, columns).getValues();

  syncMasterSheet(data);
}