我无法在任何地方找到它。我猜我正在寻找错误的关键词。到目前为止,我已经能够使用:
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);
}
但我无法弄清楚如何将返回值设置为(new Date())。 这样:
function clockOut() {
SpreadsheetApp.getActiveSheet().getRange('F2').setValue(getFirst(new Date));
}
设置基于ct的时间,因为它为零,看起来像:| 12/31/1899 0:00:00 |。也在F2点不在ct点。我觉得我很接近但感觉我走错了方向。感谢
答案 0 :(得分: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);
}