2016-05-06 70 views
0

我有一个代码在编辑列1时放入时间戳,然后在另一列中输入单词'收集'时输入第二个时间戳。然后,我花费时间收集并使用这些数据。但是,如果有人再次编辑第1列,它会更新时间戳记,因此我正在查找脚本以允许它仅在第一次编辑时执行此操作。这是我目前的剧本;当第一次编辑后编辑列时如何停止时间戳更新

function onEdit(e) { 
var sheet = SpreadsheetApp.getActiveSheet(); 
if(sheet.getName() == "CC sheet") { 
    //Update timestamp when changed to collected 

    var range = sheet.getActiveCell(); 
    Logger.log(range.getColumn()) 
    if(range.getColumn() == 7.0) { //if we are in the status column... 
    var nextCell = range.offset(0, 2); 
    if(range.getValue() == 'Collected') 
     if(nextCell.getValue() === '') //is empty? 
      nextCell.setValue(new Date()); 
    } 
//end 
} 


if(e.source.getActiveSheet().getName() !== 'CC sheet' || e.range.columnStart !== 1) return; 
e.range.offset(0, 5).setValue(e.value ? new Date() : null); 
} 

这是我需要改变的最低位,只在第一次编辑时更新。任何帮助,将不胜感激。

回答

0

与这一个替换最后一行或代码:

if (e.range.offset(0, 5).getValue() === '') { 

    e.range.offset(0, 5).setValue(e.value ? new Date() : null); 

} 

这是相同的“是空的?”如您在脚本的第一部分中所述检查。

+0

这完美谢谢我所需要的。 –

+0

谢谢,请勾选正确答案。 –

相关问题