2013-08-28 49 views
0

我嘗試在谷歌電子表格上運行一個腳本來固定一堆重複操作。 根據documentation,我可以通過四個數值參數getRange重載訪問一系列數據。 我的問題是,當我運行腳本谷歌說我getRange(號碼,號碼,號碼,號碼)未找到並停止腳本。未找到sheet.getRange與我的參數集

下面是代碼:

function addMonth(){ 
    var month = ["Janvier","Février","Mars","Avril","Mai","Juin", 
       "Juillet","Août","Septembre","Octobre","Novembre","Décembre"]; 
    var days = ["po","wr","sr","cz","pl","so","nd"]; 
    var dateString = Browser.inputBox('Enter the month with format "mm-yyyy"'); 
    var date = new Date(dateString.split("-")[1],dateString.split("-")[0]-1,1); 
    var dateFin = new Date(dateString.split("-")[1],dateString.split("-")[0]-1,0); 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var pos =sheet.getLastColumn(); 
    sheet.insertColumnsAfter(pos,dateFin.getDate()); 
    var monthRange = sheet.getRange(1,parseInt(pos+1),1,parseInt(dateFin.getDate())); 
    monthRange.merge(); 
    monthRange.setValue(month[dateDebut.getMonth()]); 
    var daysOfMonth = []; 
    for(var i=1;i<=dateFin.getDate();i++){ 
    daysOfMonth.push(days[date.getDay()+(i%7)-1]); 
    } 
    sheet.getRange(2,parseInt(pos+1),1,parseInt(dateFin.getDate())).setValues(daysOfMonth); 
} 

回答

1

錯誤消息說的是實話。你的變量sheetClass Spreadsheet,它沒有方法getRange(row, column, numRows, numColumns) - 這是一個方法Class Sheet

更改變量sheet的分配,以確保它是正確的類型:

var sheet = SpreadsheetApp.getActiveSheet(); 

當你寫你的腳本,注意自動完成功能,這將有助於避免這個錯誤。有關更多詳細信息,請參閱this previous answer

相關問題