javascript - Google Script 中的 onEdit(e) - 尝试将最后编辑日期放入单元格并在某些工作表(选项卡)上排除此功能

标签 javascript google-apps-script google-sheets

我正在开发一个 Google 表格脚本,该脚本在所有选项卡上的特定单元格中输入最后一次编辑的日期,我特别排除的那些除外。

我的脚本目前看起来像这样,有效,但确实在每个选项卡上更新,而不是仅在未明确排除的选项卡上更新。

function onEdit(e) { 
    if ((!e.value) &&
   (SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "cheese" || 
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "ham" ||
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "toast" ||
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "butter" ||
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "popcicle" ||
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "cake" ||
    SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getSheetName() !== "meat"))
 {
    e.source.getActiveSheet().getRange('B5').setValue(new Date());
  }
} 

有什么想法吗?

最佳答案

我不清楚你用 !e.value 做什么。

试试这个:

function onEdit(e) 
{ 
  var excluded=['cheese','ham','toast','butter','popcicle','cake','meat']
  if(excluded.indexOf(e.source.getActiveSheet().getName())>0)
  {
     e.source.getActiveSheet().getRange('B5').setValue(new Date());
  }
} 

关于javascript - Google Script 中的 onEdit(e) - 尝试将最后编辑日期放入单元格并在某些工作表(选项卡)上排除此功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46475486/

相关文章:

javascript - 获取重复 GET 变量的查询字符串值

javascript - 谁能告诉我我的代码有什么问题?

google-apps-script - 如何更改 Google 表格中图表的背景不透明度?

javascript - 在 Google Apps 脚本中解码 JWT

javascript - 将 Google Analytics UTM 跟踪添加到 Google 表格中的单元格

google-sheets - 公式中的动态工作表名称

javascript - jQuery区分一个元素和一类元素

javascript - onClick/onclick 在 HTML5/JavaScript 中似乎没有按预期工作

javascript - 使用 sort 返回子数组中最大数字的数组

google-apps-script - 检索 Google Apps 域中使用非管理员帐户的用户列表