2015-06-15 39 views
0

因此,我正在谷歌腳本上創建一個簡單的問題跟蹤器。隨着時間觸發器更改狀態列的值爲「老」,谷歌腳本

表單提交時,它將問題創建爲「column」下的「new」。我正試圖在午夜將'Status'列的值更改爲'old'。我被代碼困住了。

我想在午夜時間設置時間驅動觸發器。請幫助。

function changeStatus() { 

    // var sheet = SpreadsheetApp.getActiveSheet(); 
    var row = sheet.getLastRow(); 
    //var lastRow = sheet.getR 
    // Set the status of the new ticket to 'New'. 
    // Column F is the Status column 


    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 

    //var range = sheet.getRange("F2:F4"); 
    //var row = range.getRow(); 

    for (var i = 0; i >= row; i--) { 
     sheet.getRange(i, getColIndexByName("Status")).setValue("old"); 

    } 

} 

回答

0

你需要解釋什麼是問題或者你需要什麼幫助。

如果函數沒有觸發,那很可能是因爲getActiveSpreadsheet不適用於時間觸發器,因爲觸發電子表格時可能不會打開(激活)。改爲使用openByID(該ID可以在URL中找到)。

就其餘的代碼而言,如果您只有兩種狀態並且效率並不太重要,那麼看起來很好。如果您有兩種以上的狀態,則必須檢查狀態是否爲new,然後將其更改爲old,並保留其他狀態。

此外,您可以考慮存儲一個持久值來指定您離開的位置。從邏輯上講,沒有東西可以回覆到new,所以你不需要改變以前的行的狀態。考慮到這一點,如果從前一天離開的地方開始,它將使您不必遍歷所有行。

相關問題