请求开发Google Script实现打开表格时自动激活对应季节工作表
解决方案:根据当前月份自动激活对应季节的Google Sheets工作表
实现步骤
- 打开你的Google表格,点击顶部菜单栏的「扩展程序」→「Apps脚本」
- 删除编辑器里的默认代码,替换为下方的脚本
- 点击保存按钮,给项目命名(比如「SeasonalSheetSwitcher」)
- 首次运行需完成授权流程:按提示点击「授权访问」,遇到「未经验证的应用」提示时,选择「高级」→「转到[你的项目名]」完成授权
完整脚本代码
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
相关产品推荐
相关产品推荐

