You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求修改Google Apps Script 适配Day1至Day31多工作表运行

适配Google Apps Script到Day 2至Day 31工作表的解决方案

嘿,作为编程新手能想到扩展代码的需求真不错!我帮你把原来只在Day 1运行的代码改成了能适配Day 2到Day 31所有工作表的版本,规则和原代码完全一致,还会给你拆解改动点,方便你理解~

修改后的完整代码

function onEdit(e) {
  var s = SpreadsheetApp.getActiveSheet();
  var sheetName = s.getName();
  
  // 匹配工作表名称是否为Day + 2-31的格式
  var dayMatch = sheetName.match(/^Day (\d+)$/);
  if (dayMatch) {
    var dayNumber = parseInt(dayMatch[1]);
    // 判断数字是否在2到31之间
    if (dayNumber >= 2 && dayNumber <= 31) {
      var r = s.getActiveCell();
      // 检查是否在W列(第23列)
      if (r.getColumn() == 23) {
        var nextCell = r.offset(0, 6);
        // 若相邻单元格为空则设置当前日期
        if (nextCell.getValue() === '') {
          nextCell.setValue(new Date());
        }
      }
    }
  }
}

关键改动说明

  • 工作表名称判断逻辑优化:原来的代码只判断是否是Day 1,现在用正则表达式/^Day (\d+)$/匹配所有以Day开头、后面跟数字的工作表名称,再提取数字判断是否在2到31的范围内,这样就覆盖了Day 2到Day 31的所有情况。
  • 保留原核心逻辑:检查活动单元格是否在W列(第23列)、判断右侧第6列单元格是否为空、为空则写入当前日期的逻辑完全保留,确保和原代码执行规则一致。

小提示

如果你的原代码是绑定了onEdit触发器的,直接替换成这段代码就可以啦,不需要额外修改触发器设置,它会自动在符合条件的工作表上生效~

内容的提问来源于stack exchange,提问作者Gentry McColm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 12:32:59