Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 如何将特定工作表的URL插入GoogleSheets中的单元格_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 如何将特定工作表的URL插入GoogleSheets中的单元格

Google apps script 如何将特定工作表的URL插入GoogleSheets中的单元格,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一张名为“志愿者”的表格,上面有志愿者的名单,还有一张同样的表格,上面有其他信息。我已经设法在两张工作表之间建立了超链接,但要做到这一点,我需要知道特定工作表(称为志愿者)的唯一URL 尽管在这里搜索了几个小时,但我找不到一种简单的方法来找到相关工作表的URL并将其插入另一个工作表(称为公式)上的指定单元格 下面提供了我找到的代码。不幸的是,当我试图复制一份工作表时,这个公式并不总是有效的 任何人能提供的帮助都将受到感激。 谢谢 然后将“=hyperlink(GetVolUrl())”插入指

我有一张名为“志愿者”的表格,上面有志愿者的名单,还有一张同样的表格,上面有其他信息。我已经设法在两张工作表之间建立了超链接,但要做到这一点,我需要知道特定工作表(称为志愿者)的唯一URL

尽管在这里搜索了几个小时,但我找不到一种简单的方法来找到相关工作表的URL并将其插入另一个工作表(称为公式)上的指定单元格

下面提供了我找到的代码。不幸的是,当我试图复制一份工作表时,这个公式并不总是有效的

任何人能提供的帮助都将受到感激。 谢谢


然后将“=hyperlink(GetVolUrl())”插入指定单元格以检索URL。

函数以获取工作表URL:

function getSheetUrls() {
  const ss = SpreadsheetApp.getActive();
  ss.getSheets().forEach(sh=>{
    let url = Utilities.formatString('Name:%s Url:%s#gid=%s',sh.getName(),ss.getUrl(),sh.getSheetId())
    Logger.log(url)
  });  
}



function postSheetUrls() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet1');
  sh.clearContents();
  let vs = [['Sheet Name', 'Link']];
  ss.getSheets().forEach(s => {
    let url = Utilities.formatString('%s#gid=%s', ss.getUrl(), s.getSheetId());
    vs.push([s.getName(), `=hyperlink("${url}","${s.getName()}")`]);
  });
  sh.getRange(1, 1, vs.length, vs[0].length).setValues(vs);
}
图片:


非常感谢@MetaMan对您的帮助!我能够修改这段代码来做我需要的事情,它解决了我在使用另一个电子表格时遇到的另一个问题。
function getSheetUrls() {
  const ss = SpreadsheetApp.getActive();
  ss.getSheets().forEach(sh=>{
    let url = Utilities.formatString('Name:%s Url:%s#gid=%s',sh.getName(),ss.getUrl(),sh.getSheetId())
    Logger.log(url)
  });  
}



function postSheetUrls() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet1');
  sh.clearContents();
  let vs = [['Sheet Name', 'Link']];
  ss.getSheets().forEach(s => {
    let url = Utilities.formatString('%s#gid=%s', ss.getUrl(), s.getSheetId());
    vs.push([s.getName(), `=hyperlink("${url}","${s.getName()}")`]);
  });
  sh.getRange(1, 1, vs.length, vs[0].length).setValues(vs);
}