我在使用帮助台教程后开始使用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;
答案 0 :(得分:0)
试试这个:
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);
}
}