Google Sheets转置输出工作表名称的Apps Script代码修改求助
解决方案
以下是修改后可直接运行的完整代码:
function sheetNames() { const ss = SpreadsheetApp.getActive(); // 调整表名数组为适配横向排列的1行N列结构 const sheetNames = [ss.getSheets().map(sheet => sheet.getName())]; const sheet = ss.getSheetByName("Master"); // 清除第4行H列开始的内容,和你调整的逻辑一致 sheet.getRange("H4:4").clear(); // 调整范围参数:起始行4、起始列8、行数1、列数为表名总数量 sheet.getRange(4, 8, 1, sheetNames[0].length).setValues(sheetNames); };
修改说明
- 调整表名数组结构:原代码
map(sheet => [sheet.getName()])生成的是[[表1], [表2], ...]的N行1列结构,适配纵向填充;修改后生成[[表1, 表2, ...]]的1行N列结构,适配横向填充规则。 - 调整Range参数:
getRange的4个参数依次为「起始行号、起始列号、占用行数、占用列数」,纵向填充时占用行数为表名总数、列数默认1;横向填充时需要明确指定占用行数为1、列数为表名总数。
内容的提问来源于stack exchange,提问作者Hibernian
相关产品推荐
相关产品推荐

