特定工作表的onEdit时间戳

时间:2012-08-10 00:39:13

标签: google-apps-script google-sheets

我正在寻找有关发布特定工作表的脚本的帮助,而不是修改文档中的任何工作表。

以下是我目前的情况:

function onEdit() {
  var d = new Date();
  var h = d.getHours();
  var min = d.getMinutes();
  var sec = d.getSeconds();
  var h_str = h;
  var min_str = min;
  var sec_str = sec;

// format time nicely
  if (h < 10) 
    h_str = '0' + h;
  if (min < 10) 
    min_str = '0' + min;
  if (sec < 10) 
    sec_str = '0' + sec;

// create the formatted time string
  var time_str = h_str + ':' + min_str + ':' + sec_str;

// create the message
  var s = 'Roster last modified on:     ' + d.toDateString() + ' @ ' + time_str;

// change the range
  SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Infernal Dawn').getRange("A1").setValue(s);}

这样可以很好地仅使用修改日期更新“Infernal Dawn”工作表,但是当任何工作表被修改时它也会更新。

我发现有两种不同的方法(一种使用gid)。唯一的问题是我的编码技巧非常有限,我无法弄清楚如何将它集成到上面的代码中。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

onEdit函数有一个可选参数,可以记住编辑了哪个cell \ range \ sheet。该参数的结构描述为here

function onEdit(e) 
{ var d=new Date();
  var s=d.toLocaleString();
  if(e.source.getActiveSheet().getName()=="TheSheetThatWeWishToTrace")
  { SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Infernal Dawn').getRange("A1").setValue(s);}
}