2013-11-26 44 views
0

我無法在任何地方找到它。我猜我正在搜索錯誤的關鍵字。到目前爲止,我已經能夠使用:在列的第一個空單元格中設置時間戳記

function getFirst() { 
    var spr = SpreadsheetApp.getActiveSpreadsheet(); 
    var column = spr.getRange('F2:F260'); 
    var values = column.getValues(); // get all data in one call 
    var ct = 0; 
    while (values[ct][0] != "") { 
    ct++; 
    } 
    return (ct); 
    } 

但我不能完全弄清楚如何返回值設置爲(新的Date())。 此:

function clockOut() { 
    SpreadsheetApp.getActiveSheet().getRange('F2').setValue(getFirst(new Date)); 
    } 

設置基於關閉CT使用它,因爲它是零,看起來像時間:| 12/31/1899 0:00:00 |。在F2點也不在ct點。我覺得我很接近,但感覺我會走錯方向。謝謝

回答

0

你在第一部分沒有太多的東西......之後它變得有點混亂......這裏是一個工作示例,我將它改爲允許在選擇列時進行簡單定製。

function clockOut() { 
    var sh = SpreadsheetApp.getActiveSheet(); 
    var col = "F";// choose the column you want 
    sh.getRange(col+getFirstEmptyCell(col)).setValue(new Date()); 
} 

function getFirstEmptyCell(col) { 
    var sh = SpreadsheetApp.getActiveSheet(); 
    var values = sh.getRange(col+"1:"+col).getValues() 
    var ct = 0; 
    while (values[ct][0] != "") { 
    ct++; 
    } 
    ct++;// because we want to get the row after the last non-empty row 
    Logger.log(ct);// just to check 
    return (ct); 
} 
+0

太好了!發揮魅力。謝謝 – user2969867

相關問題