微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以在 Google 表格中简化我的脚本吗?

如何解决我可以在 Google 表格中简化我的脚本吗?

我使用脚本构建了一个 Google 表格,以便在编辑时自动为表格上的某些事件添加时间戳。

其中两个计时器仅用于对两个特定单元格的第一次编辑计时:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SUBARU" ) { 
var r = s.getActiveCell();
if( r.getColumn() == 3 ) { 
var nextCell = r.offset(0,19);
if( nextCell.getValue() === '' ) 
nextCell.setValue(new Date());
}
}
}

两个额外的计时器为编辑其他两个单元格的任何实例计时:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "SUBARU" ) { 
var r = s.getActiveCell();
if( r.getColumn() == 9 ) { 
var nextCell = r.offset(0,15);
nextCell.setValue(new Date());
}
}
}

当三个特定条目发生在一个特定单元格中时,另外三个计时器计时:

function onEdit() {
 var s = SpreadsheetApp.getActiveSheet();
 if( s.getName() == "SUBARU" ) { 
 var r = s.getActiveCell();

 if( r.getColumn() == 5 ) {  
        var nextCell = r.offset(0,20);
  if( r.getValue() === "3 - Menu Ready")
    nextCell.setValue(new Date()).setNumberFormat('dd-MM-yyyy HH:mm:ss');
  }
  }
  }

我的问题是我每张纸有 7 个脚本,并且有 4 个使用脚本的纸(所以总共运行了 28 个脚本)。我的 Google 报价是同时运行 30 个脚本。任何人都可以想出我可以简化这些脚本以更快地运行或组合任何脚本以便在任何给定时间运行更少的方法吗?

任何帮助将不胜感激!!!

解决方法

我对此的建议是将所有逻辑组合到一个“onEdit”函数中。

这是我处理它的代码方法/建议:

if(s.getName() == "SUBARU") {
  //put the logic to handle sheet SUBARU
} else if(s.getName() == "ABC") {
  //put the logic to handle sheet ABC
} else if(s.getName() == "DEF") {
  //put the logic to handle sheet DEF
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。