基于时间的Google App脚本触发器不起作用

时间:2019-06-27 12:44:48

标签: datatrigger

我有一个Google App脚本,可将一些数据从一张纸复制到另一张纸。我想设置一个触发器,该触发器每天都会启动我的脚本。因此,我基于时间创建了一个触发器,但是它不起作用。但是,当我手动执行脚本时,该脚本可以工作。

function Agregation () {
    var spreadsheet = SpreadsheetApp.getActive();
    var lr = spreadsheet.getLastRow();
    spreadsheet.getRange('A1').activate();
    Logger.log(lr);
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Données'), true);
    spreadsheet.getRange('A2:E7').activate();
    spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Classement'), true);
    spreadsheet.getRange('\'Données\'!A2:E7').copyTo(spreadsheet.getRange('A0'+(lr+1)), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};

1 个答案:

答案 0 :(得分:0)

Margot,请尝试以下代码。

function agregation () {
  var spreadsheet = SpreadsheetApp.getActive();
  var ss = spreadsheet.getSheetByName('Données');
  var ts = spreadsheet.getSheetByName('Classement');
  var lr = ts.getLastRow();
  Logger.log(lr);
  ss.getRange('A2:E7').copyTo(ts.getRange('A'+(lr+1)), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};

当用户处于上下文中但不是来自触发器时,Apps脚本可以激活工作表。我编辑了您的代码以获取工作表,而不是激活它们。现在,它正在使用基于时间的触发器为我执行。