2017-08-31 63 views
2

這是我第一次使用Google Script進行編程,我無法弄清楚如何添加一個函數來規避Google超出處理時間的錯誤消息。能否請你幫忙?在Google App腳本中超出了腳本時間

該程序獲取條形圖和品脫的數量,並將它們引用到不同的工作表中,該工作表有一個計算器來計算成本並輸出該值。會很感激的幫助

/** 
* 
* 
*/ 

function STBIBOL() 
{ 

    var r = 6 
    var destclm = 11 
    var pintsclm = 105 
    var barsclm = 101 

    var spreadsheet_url = 'https://docs.google.com/spreadsheets/d/1cqgdo_pgJ4n0xhXqMah24g6jjv7sfl2o92k1pwXNUuo/edit#gid=532254312'; 
    var sheet_name = 'BOLs Entered for Fulfillment'; 
    var sheet_name1 = 'STBI Calculator'; 

    var ss = SpreadsheetApp.openByUrl(spreadsheet_url); 
    var sheet = ss.getSheetByName(sheet_name); 
    var sheet1 = ss.getSheetByName(sheet_name1); 
    var lastRow = sheet.getLastRow(); 

    for(i =1; i< 20; i++) 
    { 
    var rangeD = sheet.getRange(r,destclm) 
    var dest = rangeD.getValue() 
    var rangeS = sheet.getRange(r,pintsclm) 
    var pints = rangeS.getValue() 
    var rangeB = sheet.getRange(r, barsclm) 
    var bars = rangeB.getValue() 
    var range = sheet1.getRange(14,3) 
    range.setValue(dest) 
    var range2 = sheet1.getRange(11, 3) 
    range2.setValue(pints) 
    var range3 = sheet1.getRange(12, 3) 
    range3.setValue(bars) 
    var rangev = sheet1.getRange(8,3) 
    var value = rangev.getValue() 
    var range4 = sheet.getRange(r,110) 
    range4.setValue(value)  
    r = r + 1 
    } 


} 
+0

編輯:For循環應最終爲(i = 1; I

+0

歡迎來到Stack Overflow,@Jeet Ghosh。簡單地編寫腳本中的邏輯而不是訪問電子表格會更簡單(並且執行速度更快)嗎?您是否使用腳本的簡化版本對此進行了測試? – Degan

+0

不,我沒有。我不是最流利的Javascript,不幸的是有些工作需要解決,而當我打算上課時,我試圖找到一個有效的解決方案。很確定我已經擊中了一個。當我準備好時,我可以發佈更新後的代碼 –

回答

2

而不是在循環,從而導致執行失敗的每次運行使得以天然氣服務的多個調用的,你可以簡單地得到整個範圍的一個電話這樣的:

var range1 = sheet1.getRange(startRow, startColumn, numberOfRows, numberOfColumns); 

如果在第二片材的範圍內具有相同的尺寸(相同的行數和列)作爲第一片材,則可以簡單地1)得到的原始片材的值作爲一個二維數組

var values1 = range.getValues(); 

2)將值寫入第二張

var range2 = sheet2.getRange(startRow, startColumn, numberOfRows, numberOfColumns); 
range2.setValues(values1); 
+0

然後,我將如何獲得整個範圍內的單個值? –

+0

使用基本的'for'循環遍歷數組。我建議您在繼續使用Google Apps腳本之前先查找初學者JavaScript課程 –