0

我在整个电子表格中添加了一个用于“上次更新”的 Google Apps 脚本。此脚本会自动将日期放在您正在编辑的行的最后一个单元格中。但是我有一个我想要静态文本的标题行,当我尝试输入该行中的最后一个单元格时,它会用日期覆盖。

我似乎无法通过转到工具>脚本编辑器来关闭它。

4

1 回答 1

0

您的问题并不具体,但听起来您正在使用 onEdit 触发器功能来设置“上次更新”列。

只需检查当前行是否在标题内,然后退出触发器。像这样的东西:

function onEdit(e)
{
  var rr = e.range;
  var ss = e.range.getSheet();

  var headerRows = 1;  // # header rows to ignore

  if (rr.getRow() <= headerRows) return;
  ...

结合上述建议后,这是您的 onEdit。在这些触发功能之一中,您希望在检查是否应该纾困之前尽可能少地投资。您会注意到,为了提高效率,检查标题位于函数的顶部。出于同样的原因,不必要的行已被注释掉。

function onEdit(event) {
  // note: actRng = the cell being updated
  var actRng = event.range;
  var headerRows = 2;
  if (actRng.getRow() <= headerRows) return;

  var sheet = actRng.getSheet(); 
  //var index = actRng.getRowIndex();
  //var cindex = actRng.getColumnIndex();
  var dateCol = sheet.getLastColumn();
  var lastCell = sheet.getRange(index, dateCol);
  var date = Utilities.formatDate(new Date(), "GMT", "MM-dd-yy");
  lastCell.setValue("'" + date);
}
于 2013-08-01T15:33:31.027 回答