我有一个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);
};
答案 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脚本可以激活工作表。我编辑了您的代码以获取工作表,而不是激活它们。现在,它正在使用基于时间的触发器为我执行。