Google Sheets脚本批量取消隐藏工作表失败问题求助
问题分析与解决方法
你的脚本只生效最后一个工作表的原因很明确:你误用了activate()方法。这个方法仅用于将指定工作表切换为当前活动工作表,完全不具备取消隐藏的功能。连续调用activate()只会让最后一个工作表成为当前活动表,前面的隐藏工作表并不会被显示。
要真正取消工作表隐藏,需要调用工作表对象的showSheet()方法。下面是修正后的批量取消隐藏脚本:
function unhide() { const ss = SpreadsheetApp.getActiveSpreadsheet(); // 把需要取消隐藏的工作表名称都放在这个数组里 const targetSheets = ["TOMORROW", "listws", "todaylog", "tomorrowlog", "trgt", "ndws"]; targetSheets.forEach(sheetName => { const sheet = ss.getSheetByName(sheetName); // 先判断工作表是否存在,避免报错 if (sheet) { sheet.showSheet(); } }); }
如果需要批量隐藏部分工作表,对应的方法是hideSheet(),示例代码如下:
function hideSheets() { const ss = SpreadsheetApp.getActiveSpreadsheet(); // 替换成你需要隐藏的工作表名称 const sheetsToHide = ["TOMORROW", "listws"]; sheetsToHide.forEach(sheetName => { const sheet = ss.getSheetByName(sheetName); if (sheet) { sheet.hideSheet(); } }); }
内容的提问来源于stack exchange,提问作者One Two
相关产品推荐
相关产品推荐

