在使用了帮助桌面教程之后,我开始使用Google脚本来帮助自动化一些事情,但是现在我想更进一步,每当“状态”从以前的状态翻转到“完成”时,添加一个时间戳。
function ClosureTimeStamp(){
var sheet= SpreadsheetApp.getActiveSheet();
var active=sheet.getActiveCell()
var date= new Date();
var status= active.getValue();
if(status = "Completed") {(getColIndexByName("Last Status Update")).setValue(date);}
}这是我编写的第一个函数,肯定会有一些非常基本和明显的错误。我想要它,所以当有人翻转一个状态来完成最后的状态更新列,为该行下降了一个时间戳。
我已经使用过GetLastRow,但是它并没有完全按照我的要求(更新最后一行,而不是相应的行到状态翻转)。
function getColIndexByName(colName) {
var sheet = SpreadsheetApp.getActiveSheet();
var numColumns = sheet.getLastColumn();
var row = sheet.getRange(1, 1, 1, numColumns).getValues();
for (i in row[0]) {
var name = row[0][i];
if (name == colName) {
return parseInt(i) + 1;
}
}
return -1;发布于 2018-01-18 15:42:30
试试这个:
function ClosureTimeStamp(){
var sheet= SpreadsheetApp.getActiveSheet();
var active=sheet.getActiveCell();
var date=Utilities.formatDate(new Date(), Session.getScriptTimeZone(), "MM/dd/yyyy HH:mm:ss");
var status= active.getValue();
if(status == "Completed"){
sheet.getRange(active.getRowIndex(),getColIndexByName("Last Status Update")).setValue(date);
}
}https://stackoverflow.com/questions/48324246
复制相似问题