首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >禁用单元格或区域的onEdit触发器功能

禁用单元格或区域的onEdit触发器功能
EN

Stack Overflow用户
提问于 2013-08-01 11:43:00
回答 1查看 1.5K关注 0票数 0

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

我似乎无法通过转到Tools>脚本编辑器来将其关闭。

EN

回答 1

Stack Overflow用户

发布于 2013-08-01 15:33:31

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

只需检查当前行是否在标题内,然后退出触发器。如下所示:

代码语言:javascript
运行
AI代码解释
复制
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,在结合了上面的建议之后。在其中一个触发器函数中,在检查是否应该纾困之前,您希望投资尽可能少。您将注意到,为了提高效率,对头的检查位于函数的顶部。出于同样的原因,不必要的行也被注释掉了。

代码语言:javascript
运行
AI代码解释
复制
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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17993097

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文