以编程方式构建指向表格中命名范围的超链接

Pet*_*ell 5 google-sheets named-ranges google-apps-script

我有一个包含许多命名范围的电子表格,我想要一种目录,它提供了跳转到它们的超链接。

在 UI 中,我可以创建一个指向命名范围的超链接,其最终格式如下:

https://docs.google.com/spreadsheets/d/xxxxx/edit#rangeid=yyyyy

其中 xxxx 是一个长电子表格 ID,yyyy 是一系列数字。

由于我有很多这些链接,我想使用 Google Apps 脚本以编程方式生成所有这些链接。我可以使用Spreadsheet.getRangeByName找到命名范围对象,但我找不到从中获取 rangeid 的方法。

Pet*_*ell 2

看来这是不可能的,但作为一种解决方法,Karl_S建议使用确实有效的范围链接:

function createNamedRangeUrl(name) {
  var root = SpreadsheetApp.getActiveSpreadsheet(); 
  var range = root.getRangeByName(name); 
  var sheetId = range.getSheet().getSheetId(); 
  var rangeCode = range.getA1Notation(); 
  return ("https://docs.google.com/spreadsheets/d/" + 
  root.getId() + "/edit#gid=" + sheetId + "&range=" + rangeCode); 
}
Run Code Online (Sandbox Code Playgroud)