2017-05-11 110 views
1

我已經編寫了gs腳本來清除表單中所有單元格的數據。電子表格中有大量表格(大約200張),並且出現時間限制執行錯誤。也許有人有想法如何解決這個問題。這裏是我的代碼的例子。Google電子表格腳本執行時間限制

function cleanAllOld() { 

    var sheetsName = new Array(); 
    var destination = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link"); 
    var sheets = destination.getSheets(); 

    for (var k = 0; k < sheets.length; k++) { 

    sheetsName.push([sheets[k].getName()]); 

    for (var p = 0; p < sheetsName.length; p++) { 
     var sheet = destination.getSheetByName(sheetsName[p]); 
     if (sheet === null) {} else { 
     sheet.getDataRange().clearContent(); 
     } 
    } 
    } 
} 

回答

2

我不明白你的代碼的所有部分,但我認爲他是爲沒有太複雜了。下面是一個樣本,其工作:

function AllDelete() { 

    var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/link"); 
    var sheets = ss.getSheets(); 
    var i = 0; 

    for(i in sheets){ 

    sheets[i].clearContents(); 

    } 

} 

編輯:最大速度快,是正確的,getDataRange()方法是使用大量的ressources的

+0

我有錯誤「類型錯誤:找不到功能clearContent在對象表「。沒有'getDataRange()'。它腳本正常工作。謝謝。 – ysytnik

+0

我的不好,我的示例中缺少's'。看看編輯。 –

1

我認爲問題在於數據範圍。

嘗試更換此

sheet.getDataRange().clearContent();

本:

sheet.clearContents();

相關問題