如何在Google Sheets中自动更改活动工作表标签颜色(而非仅名称变绿)
当然可以搞定!在Google Sheets里,咱们完全能通过Google Apps Script实现自动给当前活动的工作表标签设置颜色,可不是只改个名称颜色那么简单。下面一步步教你实现:
自动更改活动工作表标签颜色的具体步骤
1. 打开脚本编辑器
- 打开你的Google Sheets文档
- 点击顶部菜单栏的「扩展程序」→「Apps 脚本」,这会弹出一个新的脚本编辑器页面
2. 替换并粘贴脚本代码
把编辑器里默认的myFunction代码删掉,换成下面这段:
// 当用户切换工作表时自动触发 function onSheetChange(e) { // 获取当前文档里的所有工作表 const allSheets = e.source.getSheets(); // 定义活动工作表的标签颜色(这里用的亮绿色,可自行修改十六进制代码) const activeTabColor = "#00FF00"; // 定义非活动工作表的标签颜色(null表示用默认颜色,也可以设成其他固定色) const inactiveTabColor = null; // 遍历所有工作表,设置对应标签颜色 allSheets.forEach(sheet => { if (sheet.getSheetId() === e.source.getActiveSheet().getSheetId()) { // 当前活动工作表设置目标颜色 sheet.setTabColor(activeTabColor); } else { // 非活动工作表设置默认/指定颜色 sheet.setTabColor(inactiveTabColor); } }); } // 手动测试用函数(可选,第一次运行可以用它来授权) function testActiveTabColor() { const currentSpreadsheet = SpreadsheetApp.getActiveSpreadsheet(); const allSheets = currentSpreadsheet.getSheets(); const activeSheet = currentSpreadsheet.getActiveSheet(); const activeTabColor = "#00FF00"; const inactiveTabColor = null; allSheets.forEach(sheet => { sheet.setTabColor(sheet === activeSheet ? activeTabColor : inactiveTabColor); }); }
3. 代码逻辑说明
onSheetChange是Google Sheets的简单触发器,只要用户切换工作表,这个函数就会自动运行- 代码会先获取所有工作表,然后判断哪一个是当前激活的工作表,给它设置你指定的标签颜色,剩下的工作表则恢复默认(或者你设置的其他颜色)
- 颜色值用十六进制代码就行,比如红色
#FF0000、深蓝色#00008B,你可以按需修改
4. 授权并测试
- 点击脚本编辑器顶部的运行按钮(▶️),第一次运行会弹出授权请求,按照提示完成授权(放心,这是Google官方的授权流程,不会泄露你的数据)
- 回到你的Sheets文档,切换不同的工作表,就能看到当前活动的工作表标签已经变成你设置的颜色啦
自定义小技巧
- 如果你想让非活动工作表也有固定颜色,比如灰色,只需要把
inactiveTabColor改成#CCCCCC就行 - 可以随时修改
activeTabColor的值,换成你喜欢的任何颜色
内容的提问来源于stack exchange,提问作者pm2588
相关产品推荐
相关产品推荐

