![](/img/trans.png)
[英]Google apps script execution API service authorization fails once per hour
[英]Script with an average of 9s per execution, delivering 145s per execution
我今天早些時候在 GAS 中創建這個腳本時,測試平均每次執行 9 秒:
function ProjetoNovasLigas() {
var ss = SpreadsheetApp.getActive();
ss.getRange('Página1!I2:N').copyTo(ss.getRange('Página1!P2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!Z2:Z').copyTo(ss.getRange('Página1!S2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!Y2:Y').copyTo(ss.getRange('Página1!U2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
ss.getRange('Página1!A2').setFormula('=TEXT(NOW(),"yyyy/mm/dd hh:mm")');
ss.getRange('Página1!A2').copyTo(ss.getRange('Página1!A2'), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
}
當通過script.google.com自動觸發啟用它每10分鍾運行一次時,完全運行需要145s :
腳本中是否有任何錯誤並導致它發生的地方? 我需要幫助,如果有人想看看可能發生的事情,我會將電子表格留在這里:
https://docs.google.com/spreadsheets/d/15T4UPVtEHv43DLomKcTmdaPuGWMsBUoO7bLvlOhab4k/edit?usp=sharing
您可以通過使用setValues()
和數組操作批量操作來加快執行速度。
function archivr() {
var ss = SpreadsheetApp.getActive();
var sh = ss.getSheetByName('Página1');
var lr = sh.getLastRow();
var values = sh.getRange('I2:Z' + lr).getValues();
values.forEach(function(row){
row.push("", row[16]); //[16] = Col Y; Move Col Y to the right of Col Z
row.splice(6, 11);//Remove Col N to Col Y
});
sh.getRange(2,12, values.length, values[0].length).setValues(values); //set modified values to Col P
sh.getRange('A2').setValue(new Date());
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.