VBA用户如何通过gscript在Google表格中实现非活动工作表自动隐藏
Google Apps Script 实现非活动工作表自动隐藏功能
这个功能可以通过Apps Script的工作表变更监听机制实现,和你之前在Excel中用VBA完成的逻辑效果完全匹配,具体实现步骤如下:
- 打开目标Google表格,点击顶部菜单的「扩展程序」>「Apps Script」,进入脚本编辑界面
- 删除编辑器内默认的示例代码,粘贴以下自定义功能代码:
function hideInactiveSheets(e) { // 获取当前电子表格内的全部工作表 const sheetList = e.source.getSheets(); // 获取当前处于激活状态的工作表对象 const currentActiveSheet = e.source.getActiveSheet(); sheetList.forEach(singleSheet => { // 跳过当前激活的工作表,其余工作表全部设置为隐藏 if (singleSheet.getSheetId() !== currentActiveSheet.getSheetId()) { singleSheet.hideSheet(); } }); }
- 为代码配置触发器:因为涉及工作表的修改权限,普通简单触发器无法完成隐藏操作,必须配置可安装触发器
- 点击脚本编辑器左侧边栏的闹钟样式「触发器」图标
- 点击页面底部的「添加触发器」按钮,按如下参数配置:
- 要执行的函数:选择
hideInactiveSheets - 事件来源:选择「从电子表格」
- 事件触发条件:选择「当活动工作表发生更改时」
- 首次保存配置时会弹出账号授权弹窗,按提示完成权限授权即可
- 要执行的函数:选择
功能生效后,每次切换激活的工作表时,除了当前正在查看的工作表保持显示状态,其余所有工作表都会自动隐藏。若需要查看其他工作表,可通过底部标签栏的工作表列表入口手动调出隐藏的表。
内容的提问来源于stack exchange,提问作者Najmlll
相关产品推荐
相关产品推荐

