从选项卡名列表中生成每个工作表的URL [英] Generate URL for each sheet from a list of tab names

查看:0
本文介绍了从选项卡名列表中生成每个工作表的URL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谷歌表格的问题在这里。假设我的工作簿中有一列,其中每个单元格都包含工作簿中一个选项卡的名称。是否有方法(公式或脚本)生成包含每个选项卡的URL的列?

推荐答案

假设您在Sheet1的第1列中有需要URL的工作表的名称。

Below函数将读取Sheet1的Column1中的这些名称,并创建它们的URL,并将它们放在Column2中的名称旁边。

function listedSheetUrls() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var rg=sh.getRange(1,1,sh.getLastRow(),1);
  var vA=rg.getValues();
  var nA=vA.map(function(r){return r[0];});
  var shts=ss.getSheets();
  shts.forEach(function(sh,i){
    var idx=nA.indexOf(sh.getName());
    if(idx!=-1) {
      var url=Utilities.formatString('https://docs.google.com/spreadsheets/d/%s/edit#gid=%s',ss.getId(),sh.getSheetId());
      vA[idx].splice(1,0,url);
    }
  });
  sh.getRange(1,1,vA.length,vA[0].length).setValues(vA);
}

这篇关于从选项卡名列表中生成每个工作表的URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆