0

我正在寻找一个脚本的帮助,该脚本发布特定工作表已被编辑,而不是文档中的任何工作表被修改时。

这是我目前拥有的:

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)。唯一的问题是我的编码技能非常有限,我无法弄清楚如何将其集成到上述代码中。任何帮助,将不胜感激!

4

1 回答 1

0

onEdit 函数有一个可选参数,用于记住编辑了哪个单元格\范围\工作表。此参数的结构在此处描述。

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);}
}
于 2012-08-10T11:55:25.550 回答