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

请求开发Google Script实现打开表格时自动激活对应季节工作表

解决方案:根据当前月份自动激活对应季节的Google Sheets工作表

实现步骤

  1. 打开你的Google表格,点击顶部菜单栏的「扩展程序」→「Apps脚本」
  2. 删除编辑器里的默认代码,替换为下方的脚本
  3. 点击保存按钮,给项目命名(比如「SeasonalSheetSwitcher」)
  4. 首次运行需完成授权流程:按提示点击「授权访问」,遇到「未经验证的应用」提示时,选择「高级」→「转到[你的项目名]」完成授权

完整脚本代码

function onOpen() {
  // 获取当前月份(转换为1-12的数值)
  const currentMonth = new Date().getMonth() + 1;
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  let targetSheetName;

  // 匹配月份对应的季节工作表
  switch(currentMonth) {
    case 12:
    case 1:
    case 2:
      targetSheetName = "Winter";
      break;
    case 3:
    case 4:
    case 5:
      targetSheetName = "Spring";
      break;
    case 6:
    case 7:
    case 8:
      targetSheetName = "Summer";
      break;
    case 9:
    case 10:
    case 11:
      targetSheetName = "Fall";
      break;
    default:
      // 兜底逻辑:匹配失败时激活第一个工作表
      targetSheetName = spreadsheet.getSheets()[0].getName();
  }

  // 激活目标工作表
  const targetSheet = spreadsheet.getSheetByName(targetSheetName);
  if (targetSheet) {
    spreadsheet.setActiveSheet(targetSheet);
  } else {
    // 工作表不存在时弹出提示
    SpreadsheetApp.getUi().alert(`未找到名为「${targetSheetName}」的工作表,请检查名称是否正确。`);
  }
}

关键说明

  • onOpen():Google Apps Script的内置触发函数,打开表格时自动执行
  • 月份转换:getMonth()返回0-11的数值,加1后得到1-12的实际月份
  • 容错处理:如果季节工作表名称不匹配或不存在,会弹出提示避免脚本报错
  • 大小写敏感:代码里的工作表名称(如"Winter")必须和你表格里的工作表名称完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 15:00:58