在其他电子表格中添加行时触发功能

Trigger function when adding a row in an other spreadsheet

我在 Google 应用程序脚本中遇到触发器问题。我有一个 spreadsheet 保存我的用户和其他东西 (appSheet),我有第二个 spreadsheet 保存所有数据 (dataSheet)。

我还构建了一个脚本,用于将一些数据从“appSheet”导入到“dataSheet”,并且运行良好。问题是我需要它在应用程序 sheet 中添加新行(用户)时自动执行。 Google App Script 中的内置触发器不允许我设置那种触发器。

我在dataSheet中设置了这个导入函数,也许我应该在appSheet中设置它?这看起来超级简单,但我是新手:)

有人知道如何自动触发该功能吗?

非常感谢!

谢谢你们的回答! 我找到了一个非常简单的方法来实现这一点。

我没有在 dataSheet 上设置脚本并需要“onEdit”触发器,而是将脚本放在 appSheet 并进行了少量修改。

脚本如下:

function exportData() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var values = ss.getSheetByName('mySourceSheet').getRange('A2:B').getValues();

  var dataSheet = SpreadsheetApp.openById("myDestinationSpreadsheet");
  var targetSheet = dataSheet.getSheetByName("myDestinationSheet");

  targetSheet.getRange(2,1,values.length,values[0].length).setValues(values);
}

“targetSheet.getRange”中的“2”表示我希望它从第 2 行开始。

借助 Apps 脚本中的内置触发器,现在一切都可以完美运行。