You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Google Sheet脚本自动提取各工作表URL并写入A1,排除Main表

修正后的Google Sheets脚本实现需求

这里是满足你需求的修正版脚本,已经解决原脚本的问题:

function getAndWriteSheetUrls() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 获取所有工作表,排除名为"Main"的表
  const sheets = ss.getSheets().filter(sheet => sheet.getName() !== "Main");
  
  // 遍历每个工作表,将URL写入A1单元格
  sheets.forEach(sheet => {
    sheet.getRange("A1").setValue(sheet.getUrl());
  });

  // 可选:在Main工作表汇总所有URL(如果需要的话)
  const mainSheet = ss.getSheetByName("Main");
  if (mainSheet) {
    // 把所有工作表URL整理成二维数组,写入Main的A列(从A1开始)
    const urlList = sheets.map(sheet => [sheet.getUrl()]);
    mainSheet.getRange(1, 1, urlList.length, 1).setValues(urlList);
  }
}

原脚本的问题说明

  • 没有过滤"Main"工作表,会错误地给Main表也写入URL
  • 写入位置是B3,不符合你要求的A1单元格
  • 重复调用getSheets(),虽然不报错但属于冗余操作,优化后只获取一次工作表列表

补充说明

  • 脚本里的汇总部分是可选的,如果不需要可以删掉对应的代码块
  • 执行脚本前记得给脚本授权,第一次运行会提示权限申请,按步骤完成即可

内容的提问来源于stack exchange,提问作者Shawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:02:37